판다스는 1차원 배열 형태의 시리즈(Series) 자료구조와 2차원 배열 형태의 데이터프레임(DataFrame) 자료구조를 지원한다. 특히 데이터프레임은 엑셀의 테이블(표)과 비슷하게 행과 열로 만들어진다.
머신러닝에서 데이터셋을 다룰 때 판다스(pandas) 라이브러리를 주로 사용한다.
회귀 문제는 설명 변수(X)와 목표 변수(Y) 사이의 회귀관계식을 찾는다. 목표 변수는 연속적인 값을 갖는 숫자형 데이터이다. 과거의 주가 데이터를 가지고 미래 주가를 예측하거나, 자동차 배기량이나 연식 등 중고차 정보를 이용하여 가격을 예측하는 문제를 예로 들 수 있다.
예측할 새로운 X 데이터가 주어졌을 때 모델 학습을 통해 찾아낸 관계식에 X를 대입하면 목표 변수인 Y를 예측할 수 있다.
비지도학습은 모델 학습 단계에서 정답 Y가 주어지지 않고, X 데이터만 제공되는 머신러닝 유형이다. 따라서 정답 Y를 예측하는 것이 목표가 되는 것이 아니라, X 데이터 사이에 존재하는 패턴 또는 규칙을 찾는 것이 목표가 된다. 대표적으로 서로 비슷한 데이터끼리 묶어서 그룹을 나누는 군집(clustering) 분석을 예로 들 수 있다.
분류 문제는 설명 변수(X)와 목표 변수(Y) 사이의 관계를 찾지만, 예측하려는 목표 레이블이 연속적이지 않고 0, 1, 2와 같이 이산적인 값을 갖는 경우를 말한다. 클래스 0 또는 1 중에서 선택하는 이진 분류(binary classification) 문제가 대표적이다. 또는 3개 이상의 클래스 중에서 하나를 선택하는 다중 분류(multi classification) 문제를 포함한다.
회귀가 데이터의 분포를 가장 잘 설명할 수 있는 X, Y 사이의 함수식을 찾는 것이라면, 분류는 섞여 있는 데이터들 중에서 목표 레이블을 가장 잘 구분할 수 있는 경계를 나타내는 함수식을 찾는 것이라고 볼 수 있다.
예측 목표가 되는 Y 변수를 목표 변수(target?:?타깃)라고 하고, 목표 변수를 예측하는데 사용되는 X 변수를 설명 변수(feature?:?피처)라고 부르기도 한다.
지도학습은 학습 과정에서 정답 Y가 주어진다. 즉, 입력 데이터 X와 출력 데이터 Y를 모두 알고 있는 상태에서, Y=aX+b와 같이 X와 Y 사이의 관계식을 알아내는 머신러닝 알고리즘을 말한다.
데이터의 형태를 살펴보면서 데이터 특성을 파악하는 과정을 탐색적 데이터 분석(EDA, Exploratory Data Analysis)이라고 부른다.
, y 변수 사이의 관계식을 그래프로 그려본다. 맷플롯립(matplolib) 패키지를 활용한다
머신러닝 모델에 입력할 데이터를 정리하기 위해 판다스를 주로 사용한다.
head 메소드는 데이터프레임의 첫 5개의 행(인덱스 0~4)을 추출해서 표시한다.
LinearRegression 클래스 함수는 선형회귀 모델을 구현해 놓은 코드라고 보면 된다.
|