본문 바로가기

머신러닝

비지도 학습(데이터 전처리와 스케일 조정)

1. 비지도 변환 : 차원 축소  > 고차원의 데이터 특성을 줄이면서 꼭 필요한 특징만 포함

2. 군집 clustering : 비슷한 것끼리 모음

 

평가가 어려움 -> 탐색적 분석단계에서 많이 사용

지도학습의 전처리 단계에서도 사용

 

4가지 전처리 방법

StandardScaler : 각 특성의 평균을 0, 분산을 1로 변경  그러나 특성의 최솟값과 최댓값 크기 제한 안함

RobustScaler : 평균과 분산 대신 중간 값과 사분의 값(quantile) 사용 -> outlier의 영향 안받음

      first quantile : 전체 개수의1/4 지점의 x    x-중간값 / (third quantile - first quantile)

MinMaxScaler :  모든 특성이 0과 1 사이에 위치

Normalizer : 지름이 1인 원(구)에 데이터 포인트를 투영함 -> 데이터의 방향,각도 만이 중요할때 사용

from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()

scaler.fit(X_train)
X_train_scaled = scaler.transform(X_train)
X_test_scaled = scaler.transform(X_test)

MinMaxScaler의 fit은 훈련 세트의 특성마다 최솟값, 최댓값 계산함  -> fit에 x_train, x_test만 넘겨줌

y_train은 사용안함  ->  훈련 데이터와 테스트 데이터의 스케일을 같은 방법으로 조정하기

fit 적용하고 transform 적용 :  fit으로 학습한 변환을 적용 즉 훈련 데이터의 스케일 조정  -> 새로운 데이터 표현을 만들 때 사용   x_test에 같은 scaler 적용하기 ---->>> fit_transform 사용하지 말자

 

https://www.inflearn.com/questions/19038

 

fit & transform 과 fit_transform의 차이가 무엇인가요? - 인프런 | 질문 & 답변

안녕하세요, 정말 좋은 강의 잘 듣고 있습니다!! sklearn 의 클래스를 사용하다보면 fit, transform이 많이 언급되는데요. 어쩔때는 fit 하고나서 transform을 수행하거나 fit_transform으로 한번에 수행하는

www.inflearn.com

https://dsbook.tistory.com/107

 

[Hands-on Machine Learning] 파이프라인(pipeline), 특성 스케일링(feature scaling), fit, transform, fit_transform() 메

데이터 변환기, Pipeline 만들기 계층적 샘플링 (Stratified Sampling) 데이터 셋이 충분히 크다면 일반 훈련 데이터 셋을 무작위로 샘플링 하여도 큰 문제가 발생하지 않는다. 하지만 그렇지 않으면 데

dsbook.tistory.com

https://nurilee.com/2020/01/06/sklearn%EC%97%90%EC%84%9C-fit_transform%EA%B3%BC-transform%EC%9D%98-%EC%B0%A8%EC%9D%B4/

 

sklearn에서 fit_transform()과 transform()의 차이

class sklearn.preprocessing.StandardScaler(copy=True, with_mean=True, with_std=True)에 있는 fit_transform() 메소드는 말 그대로 fit()한 다음에 transform() 하는 것입니다. 여기서 fit()이란 정규화 즉, 통계에서 정규분포를

nurilee.com

 

'머신러닝' 카테고리의 다른 글

clustering  (0) 2021.07.25
차원축소, 특성 추출, 매니폴드 학습  (0) 2021.07.22
지도학습 총정리  (0) 2021.07.21
분류 예측의 불확실성 추정  (0) 2021.07.21
MLP  (0) 2021.07.21