본문 바로가기
Big Data/DataAnalysis & Manipulate

데이터 스케일러(StandardScaler, MinMaxScaler)

by Wikinist 2023. 8. 25.

StandardScaler와 MinMaxScaler는 데이터 전처리 기술로, 머신러닝 모델을 훈련하기 전에 데이터의 스케일을 조정하는 데 사용됩니다. 이를 통해 모델이 데이터의 특성을 더 정확하게 학습할 수 있도록 도와줍니다.

StandardScaler

StandardScaler는 데이터의 평균을 0으로, 표준편차를 1로 만들어줍니다. 이는 데이터를 표준 정규분포(평균 0, 표준편차 1)로 변환하는 것과 비슷한 효과를 줍니다. 이 방법은 주로 선형 회귀, 로지스틱 회귀, SVM 등과 같은 모델에서 사용됩니다.

from sklearn.preprocessing import StandardScaler

# 예시 데이터
data = [[1.0, 2.0],
        [2.0, 3.0],
        [3.0, 4.0],
        [4.0, 5.0],
        [5.0, 6.0]]

scaler = StandardScaler()
scaled_data = scaler.fit_transform(data)

print("Scaled Data:")
print(scaled_data)

MinMaxScaler

MinMaxScaler는 데이터의 최솟값을 0으로, 최댓값을 1로 만들어줍니다. 이는 데이터의 범위를 [0, 1]로 조정하는 효과가 있습니다. 이 방법은 신경망과 같은 딥러닝 모델에서 주로 사용됩니다.

from sklearn.preprocessing import MinMaxScaler

# 예시 데이터
data = [[1.0, 2.0],
        [2.0, 3.0],
        [3.0, 4.0],
        [4.0, 5.0],
        [5.0, 6.0]]

scaler = MinMaxScaler()
scaled_data = scaler.fit_transform(data)

print("Scaled Data:")
print(scaled_data)

이 코드에서 fit_transform 함수는 데이터를 변환하고 동시에 스케일러를 학습시키는 역할을 합니다. 스케일링된 데이터는 각각 scaled_data 변수에 저장됩니다. 데이터의 스케일링은 각 특성(feature)의 범위를 조정하여 모델 학습에 도움을 줍니다. 선택하는 스케일러는 데이터와 모델 종류에 따라 달라질 수 있습니다.

해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.

'Big Data > DataAnalysis & Manipulate' 카테고리의 다른 글

[Pandas] datetime 프로퍼티  (0) 2023.09.08
[pandas] columns.difference  (0) 2023.08.28
Apriori 알고리즘  (0) 2023.08.16
연관 규칙 분석  (0) 2023.08.16
pd.pivot_table()  (0) 2023.08.16