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로 넘겨진 parameterX
를 standardization시키고 이 결과 데이터셋을 반환.
.fit_transform(X)
fit
와transform
를 결합한 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