Machine Learning/파이썬_데이터사이언스

2. 머신러닝을 위한 데이터 준비 [파이썬으로 배우는 데이터 사이언스]

Minwoo 2020. 1. 30.

Data-Learning.tistory.com - 머신러닝 오픈소스 무료 강좌


 

머신러닝을 위한 데이터 준비

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

* 해당 게시물은 첫번째 배너 및 출처를 첨부하면 상업적 용도를 제외하고 사용하실수 있습니다.

 

댓글