다음은 RobustScaler()를 구현하는 예시 코드입니다.
from sklearn.preprocessing import RobustScaler robustScaler = RobustScaler() robustScaler.fit(train_data) train_data_robustScaled = robustScaler.transform(train_data)
• MaxAbsScaler(): 절댓값이 0~1 사이가 되도록 조정합니다. 즉, 모든 데이터가 -1~1의 사이가 되도록 조정하기 때문에 양의 수로만 구성된 데이터는 MinMaxScaler()와 유사하게 동작합니다. 또한, 큰 이상치에 민감하다는 단점이 있습니다.
다음은 MaxAbsScaler()를 구현하는 예시 코드입니다.
from sklearn.preprocessing import MaxAbsScaler maxAbsScaler = MaxAbsScaler() maxAbsScaler.fit(train_data) train_data_maxAbsScaled = maxAbsScaler.transform(train_data)
이제 데이터셋을 좀 더 다루기 쉽도록 커스텀 데이터셋(customdataset())을 생성합니다. customdataset()은 미니 배치나 데이터를 무작위로 섞는(shuffle) 등의 용도로 사용할 수 있습니다.
코드 9-30 커스텀 데이터셋 생성
class customdataset(Dataset):
def __init__(self, X, y):
self.X = X
self.y = y
self.len = len(self.X)
def __getitem__(self, index):
return self.X[index], self.y[index]
def __len__(self):
return self.len