Machine Learning/파이썬_데이터사이언스
2. 머신러닝을 위한 데이터 준비 [파이썬으로 배우는 데이터 사이언스]
머신러닝을 위한 데이터 준비 |
Contents:
1. 전처리(preprocessing)
2. 데이터 변환(data transforms)
3. Rescale Data
4. Standardize Data
5. Normalize Data
6. Binarize Data
1. 전처리(preprocessing)
- 서로다른 알고리즘은 데이터에 대해 다른 가정을 가진다. 이것은 데이터 전처리 과정에서 다른 transformation을 가질 수 있다는 것을 의미한다.
- 가끔씩 전처리 과정을 생략한 모델이 더 좋은 결과를 보여주기도 한다.
- 다양한 관점에서 데이터 transform, 각각의 머신러닝 알고리즘을 실험 해보는 것을 권장한다.
2. 데이터 변환(data transforms)
- Input/output 데이터로 변환
- Input데이터에 대해 전처리적용
- Scikit-learn
fit()
transform()
fit_transform()
3. Rescale Data
- Regression / neutral networks / KNN 과 같이 inputs에 weight를 주는 알고리즘에 스케일링은 효과적이다.
- Gradient descent와 같이 optimization 알고리즘들에 효과적이다.
from sklearn.preprocessing import MinMaxScaler
scaler=MinMaxScaler(feature_range=(0,1))
rescaledX=scaler.fit_transform(X)
4. Standardize Data
- Attributes 를 가우시안 분포로 만드는데 효과적이다.
- Mean 을 0, std를 1 으로 만들어 standard 가우시안 분포를 만든다.
- Input 변수들이 가우시안 분포를 가진다고 가정 할 때, 이 테크닉은 효과적이다. 주로 Linear regression / Logistic regression / Linear Discriminate Analysis (LDA)에 standardization이 사용된다.
from sklearn.preprocessing import StandardScaler
scaler=StandardScaler().fit(X)
rescaledX=scaler.transform(X)
5. Normalize Data
- Sparse 데이터(0이 많은 데이터)에 효과적이다.
- 각각의 observation(row)를 length 1( unit norm / 길이가 1인 백터 )으로 rescaling 한다.
From sklearn.preprocessing import Normalizer
scaler=Normalizer().fit(X)
normalizedX=scaler.transform(X)
6. Binarize Data
- 일정한 threshold 를 기준으로 binary한 결과(i.e. 0 / 1)를 만들 수 있다.
from sklearn.preprocessing import Binarizer
binarizer=Binarizer(threshold=0.0).fit(X)
binaryX=binarizer.transform(X)
data-learning.tistory.com
* 해당 게시물은 첫번째 배너 및 출처를 첨부하면 상업적 용도를 제외하고 사용하실수 있습니다.
'Machine Learning > 파이썬_데이터사이언스' 카테고리의 다른 글
6. Pipelines [파이썬으로 배우는 데이터 사이언스] (0) | 2020.02.05 |
---|---|
5. Spot-Check Classification Algorithm [파이썬으로 배우는 데이터 사이언스] (0) | 2020.02.03 |
4. 머신러닝 모델 평가 [파이썬으로 배우는 데이터 사이언스] (0) | 2020.01.31 |
3. Feature Selection [파이썬으로 배우는 데이터 사이언스] (0) | 2020.01.30 |
1. 기술통계학 바탕 데이터 이해 [파이썬으로 배우는 데이터 사이언스] (0) | 2020.01.30 |
댓글