sklearn의 StandardScaler 클래스는 모든 값을 평균이 0, 분산이 1인 정규 분포를 따르도록 scaling한다.
즉, 원래 값이 x이면 이렇게 스케일링된다.
StandardScaler는 outlier에 민감하다.
from sklearn.preprocessing import StandardScaler
sklearn.preprocessing에 구현되어있다.
std_scaler = StandardScaler()
std_scaler.fit(X_train)
X_train_tensor = torch.from_numpy(std_scaler.transform(X_train)).float()
X_test_tensor = torch.from_numpy(std_scaler.transform(X_test)).float()
y_train_tensor = torch.from_numpy(y_train).float()
클래스 안에 여러 메소드가 구현되어 있지만, 여기서는 fit, transform 두 개만 알아보겠다.
fit(X, y=None, sample_weight=None)
X는 array like
fit 메소드는 나중에 스케일링을 하기 위해서 X의 std와 mean을 계산한다.
transform(X, copy=None)
standardization을 하는 함수.