본문 바로가기
반응형

데이터사이언스45

Basic ML/DL Overview 알고리즘 vs 머신러닝 알고리즘: 어떤 문제를 푸는데 있어서 필요한 일련의 명령들입니다. 머신러닝: data-driven algorithm design 예전에는 문제가 주어졌을 때 해당 문제에 알맞는 알고리즘을 만드는 것이 일이었는데, 머신러닝에서는 실제로 문제를 특정하는 것 부터가 어렵습니다. 따라서 아래의 과정을 거칩니다. 대략적인 문제의 정의가 있습니다. 없을 때도 있습니다. 어떤 형태로든 데이터 훈련 샘플이 있습니다. 머신러닝 모델이 이 문제를 풀도록 훈련 시킵니다. 지도 학습에서 결정해야할 일 Provided N 개의 Input 과 Output 으로 구성된 훈련 샘플(Training Examples) D={(x​1​​,y​1​​),⋯,(x​N​​,y​N​​)} Loss Function: 머신러닝.. 2022. 3. 28.
Python Object Oriented Programming 객체 지향 프로그래밍 언어, Object Oriented Programming(OOP) - 객체 : 실생활에서 일종의 물건 - 속성(Attribute), 행동(Action)을 가짐 - OOP는 이러한 객체 개념을 프로그램으로 표현 - 속성은 변수(Variable), 행동은 함수(Method)로 표현됨 - 파이썬 역시 객체 지향 프로그램 언어 - 인공지능 축구 프로그램을 작성한다고 가정하면 - Object는 팀, 선수, 심판, 공 - Action은 선수가 공을 차다, 패스하다 - Attribute는 선수의 이름, 포지션, 소속팀 - OOP는 설계도에 해당하는 클래스(Class)와 실제 구현체인 인스턴스(Instance)로 나뉨 Objects in Python class SoccerPlayer(object).. 2022. 1. 24.
[홀로서기 #07] 80 Features, 8M Records... Pandas 말고 Dask! # 홀로서기 기획 연재물은 최근 개인 프로젝트를 진행하면서 겪은 어려움들을 기록한 지극히 개인적인 콘텐츠입니다. 빅데이터에 압도되다. 누가 보면 비웃을 수도 있을 것이다. '이 친구, 초짜구만. 고작 800만 개로 빅데이터라니!'. 그렇다. 필자는 아직 주니어다. 기업 데이터라고 해도 많아 봐야 고작 몇 십만개 정도였다. 그리고 그런 경험 정도로, 이번 새로운 프로젝트를 시작했다. 무려 8M(M은 흔히 1백만 개를 이르는 말이다) 사이즈의 데이터를 다루는 프로젝트이다. 기존에 Python으로 프로젝트를 진행할 때는, Pandas 모듈의 DataFrame을 활용했다. 기본 통계 분석부터, Matplotlib, Seaborn, Plotly Express까지 간편하게 연계하여 시각화를 진행했고, 잘 갖춰진 도.. 2022. 1. 19.
Python Data Structure 기본 데이터 구조 - 스택과 큐(Stack & quere with list) - 튜플과 집합(Tuple & Set) - 사전(dictionary) - Collection 모듈 Stack - 나중에 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조 - Last In First Out(LIFO) - '리포' 구조라고 읽음 - Data의 입력을 Push, 출력을 Pop이라고 함 - List(리스트)를 사용해서 스택 구조를 설계할 수 있음 - 리스트에서는 push를 append()로, pop을 pop()으로 구현 Quere - 먼저 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조 - First In First Out(FIFO) - '피포' 구조라고 읽음 - Stack과 반대되는 개념 - 파이썬은 리스트를 사용.. 2022. 1. 17.
String and advanced function concept String - 문자열 데이터 - 시퀀스 자료형으로, 문자형 데이터를 메모리에 저장 - 영문자 한 글자는 1byte의 메모리 공간을 사용 - 1byte = 8bit = 2**8 = 256까지 저장 가능 - bit는 0 또는 1 - 컴퓨터는 문자를 직접적으로 인식하지는 않고, 모든 데이터를 2진수로 인식함 - 이를 위해서 2진수를 문자로 변환하는 표준 규칙을 정함 - Ex) 대문자 U는 이진수로 1000011로 변환됨 (UTF-8기준) - 아스키 코드 표준(ASCII)를 많이 씀 - 메모리 공간 정수형 : int(4byte), long(무제한) 실수형 : float(8byte) - 인덱싱(Indexing) - 문자열의 각 문자는 개별 주소를 가짐 -> 이 주소를 가지고 할당된 값을 가져옴 - 슬라이싱(Sl.. 2022. 1. 17.
Conditionals and Loops > Conditionals - 조건문 : If, elif, els - 프로그램 작성 시 조건에 따른 판단과 반복은 필수 - 조건문이란 조건에 따라 특정한 동작을 하게 하는 명령어 - 조건문은 조건을 나타내는 기준과 실행해야 할 명령으로 구성됨 - 조건의 참, 거짓에 따라 실행해야 할 명령이 수행되거나 되지 않음 - If-else - 조건을 표기해서 참, 거짓을 판단하는데 비교 연산자를 활용함 - a의 값과 b의 값이 같더라도 a is b가 False일 수 있음 -> is는 주소를 비교해서 같은지 확인하기 때문임 - if 'abc'는 참이고, if ""는 거짓임 - 논리 키워드 and, or, not : 논리 키워드에 따라 참과 거짓을 판단하기도 함 - and는 양쪽이 모두 참이어야 참, or는 한쪽만 참.. 2022. 1. 14.
Function and Console I/O > Function - 어떤 일을 수행하는 코드의 덩어리 - 반복적인 수행을 1회만 작성 후 호출 - 코드를 논리적인 단위로 분리 - 캡슐화 : 인터페이스만 알면 타인의 코드 사용 - 함수 선언 문법 : function name, parameter, indentation, return value(optional) - 함수 수행 순서 : 함수 부분을 제외한 메인 프로그램부터 시작 -> 함수 호출 시 함수 부분을 수행 후 되돌아옴 - parameter : 함수의 입력 값 인터페이스 Ex) F(x)에서 x를 의미함 - argument : 실제 parameter에 대입된 값 Ex) F(x)에서 x에 들어간 실제 값을 말함 - parameter 유무, 반환 값 유무에 따라 함수의 형태가 다름 > Console I.. 2022. 1. 14.
Variable & List > Variables - 가장 기초적인 문법 - 데이터(값)을 저장하기 위한 메모리 공간의 프로그래밍상 이름 - 변수 = 값 : 변수에 값을 저장한다. - 변수는 값을 저장하는 장소 - 변수는 메모리 주소를 가지고 있고, 변수에 들어가는 값은 메모리 주소에 할당됨 Cf) 컴퓨터의 구조 - 폰 노이만 아키텍쳐 - 사용자가 컴퓨터에 값을 입력하거나 프로그램을 실행하면, 메모리에 저장하고 시작한다고 생각하자. - 선언되는 순간 메모리 특정 영역에 물리적인 공간이 할당된다. - 변수에 값이 할당되고, 해당 값은 메모리에 저장됨. - A=8의 의미는 'A라는 이름을 가진 메모리 주소에 8을 저장하라'라는 말 > 변수 이름 작명법 - 알파벳, 숫자, 언더스코어(_)로 선언 가능 - 변수명은 의미 있는 단어로 표기하.. 2022. 1. 14.
Python coding environment (Interpreter, Code Editor) > 개발 환경 (Development Environment) - 프로그램을 작성하고, 실행시키는 환경 > OS를 선정 : Windows, Linux, Max OS 1) Windows : 친숙하고 초기에 쉬움, 모듈 설치가 어렵고 과거에 참고 문서가 부족했었다. 2) Linux : 모듈 설치가 쉽고 공짜, 참고 문서가 매우 많다. OS 자체가 사용이 어려움 3) Max OS : 모듈 설치 쉽고, 참고 문서도 많다. 비싸다. > 인터프리터 (Interpreter) 선정 - 2.7와 3.X 버전이 존재함. 현재는 3.X 기준으로 모든 시스템이 작동됨 - 2020년부터는 Tensorflow에서 2.X는 지원을 하지 않음 - 최근 3.9버전이 출시 되었음 - 종류에는 Python, Anaconda 등이 있음 > .. 2022. 1. 14.
반응형