본문 바로가기
카테고리 없음

[ML] sklearn.preprocessing.StandardScaler

by ds31x 2024. 5. 4.

sklearn.preprocessing.StandardScaler

Standardization을 수행하는 클래스.

 

관련 library

from sklearn.preprocessing import StandardScaler

 

Scikit-Learn이 NumPy의 ndarray array의 객체와 같이 사용되기 때문에 numpy를 같이 import 하는 것이 일반적임.


주요 Attributes (methods포함)

.fit(X)

  • 주어진 데이터셋이 numpy.array 객체 X를 standardization을 하기 위한 mean과 std를 계산.
  • 이 method를 호출하고 나면, 내부의 mean_, var_, scale_ 등이 설정됨.

.transform(X)

  • 현재 설정된 mean_, var_, scale_를 통해 argument로 넘겨진 parameter X를 standardization시키고 이 결과 데이터셋을 반환.

.fit_transform(X)

  • fittransform를 결합한 method.
  • 즉, fit 또는 fit_transform을 수행하고 나면 이후에는 transform만 사용해도 됨.

.inverse_transform(X)

  • 현재 설정된 mean_, var_, scale_를 통해 standardization의 역변환을 수행.
  • argument로 standardization의 결과 데이터셋이 할당되고, 이에 대한 원래 데이터셋을 반환.

.mean_

  • 각 피쳐(feature)의 평균(mean)을 가지는 array.
  • fit() 메서드를 호출한 후에 사용 가능.

.var_

  • 각 feature의 분산(variance)을 가지는 array.
  • fit() 메서드를 호출한 후에 사용 가능.

.scale_

  • 각 feature의 표준 편차(standard deviation)을 가지는 array.
  • fit() 메서드를 호출한 후에 사용 가능.

.n_features_in_

  • 입력 데이터에 있는 feature의 수.
  • fit() 메서드를 호출한 후에 사용 가능.

.n_samples_seen_

  • fit() 메서드를 호출할 때 argument로 넘겨진 dataset의 샘플의 수.
  • 학습데이터셋의 일부를 사용하는 경우 등에 이용됨.
  • fit() 메서드를 호출한 후에 사용 가능.

Example

import numpy as np
from sklearn.preprocessing import MinMaxScaler,StandardScaler

def print_data(x):
  print(f'{x.min()=}')
  print(f'{x.max()=}')
  print(f'{x.mean()=}')
  print(f'{x.std()=}')

x_raw = np.random.rand(20,1)

print_data(x_raw)

x_scaled = mms.transform(x_raw)
print_data(x_scaled)

ss = StandardScaler()
ss.fit(x_raw)

x_scaled = ss.transform(x_raw)
print_data(x_scaled)
print('--------')
print(f'{ss.mean_=}')  # array of mean
print(f'{ss.scale_=}') # array of standard deviation

같이 읽어보면 좋은 자료들

https://dsaint31.tistory.com/720

 

[ML] Feature scaling

Feature ScalingML에서 feature scaling이란 다음을 의미함.input data의 각 feature들의 값이 일정한 범위(a consistent range)나 표준화된 척도(standardized scale)로 변환하는 과정. Feature Scaling은 ML에서모든 feature가

dsaint31.tistory.com