더북(TheBook)

다음은 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
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.