상세 컨텐츠

본문 제목

[머신러닝] sklearn으로 쉬운 Feature scaling 피처 스케일링

coding/머신러닝

by golduny_zoo 2021. 5. 6. 01:14

본문

728x90

컴퓨터는 생각보다 정교한 것 같다.

간단하게 학습 데이터에 두개이상의 데이터가 들어간다고 가정했을 때 하나의 데이터가 10000의 단위가 다른 데이터가 1의 단위라면 

정답이 더 큰 단위의 데이터로 인해 영향이 갈 수 있다. 

더보기

예를 들어

내가 100만원을 벌고 50000짜리 물건을 샀는데 어떤 사람이 10만원을 벌고 10000짜리를 사면 

컴퓨터는 50000을 산 사람을 사치를 하는 사람이라고 생각하게되버리는 상황이 발생될 수 있다. 

그래서 데이터들을 

비슷한 단위로 맞춰주는 것이 좋은데!

 

크게 2가지 방법이 있다. 

- 표준화(standardization)

평균을 기준으로 얼마나 떨어져 있느냐? 
같은 기준으로 만드는 방법, 음수도 존재, 데이터의 최대최소값 모를때 사용


- 정규화(normalization)

0 ~ 1 사이로 맞추는 것. 데이터의 위치 비교가 가능, 데이터의 최대최소값을 알때 사용


sklearn의 라이브러리를 이용한 간단한 피처스케일링

이용할 데이터

1. 표준화(standardization)

from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X_train=sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test) # 테스트에는 fit을 뺀다.

2. 정규화(normalization)

from sklearn.preprocessing import MinMaxScaler
mm_X= MinMaxScaler()
X_train=mm_X.fit_transform(X_train)
X_test=mm_X.transform(X_test)# 테스트에는 fit을 뺀다.

관련글 더보기