데이터 스케일링
거리 기반 지표를 사용하는 ML 알고리즘에서는, 서로 다른 스케일의 특성이 결과를 왜곡하므로 데이터를 항상 스케일링하는 것이 매우 중요해요. K-means는 클러스터 중심까지의 거리를 계산할 때 Euclidean 거리를 사용하므로, 알고리즘을 구현하기 전에 먼저 데이터를 스케일링해야 해요. 먼저 이것부터 진행해 보죠.
이전 연습 문제에서 사용한 데이터프레임 df가 제공되며, sklearn에서 바로 사용할 수 있도록 약간의 전처리가 되어 있어요. 사기 여부 레이블은 labels에 따로 저장되어 있으니, 나중에 결과를 확인할 때 활용하시면 돼요. numpy는 np로 임포트되어 있어요.
이 연습은 강의의 일부입니다
Python으로 배우는 사기 탐지
연습 안내
MinMaxScaler를 임포트하세요.- 데이터프레임
df의 값만 가져와 numpy 배열X로 변환하고, 모든 값이float인지 확인하세요. - 정의한 스케일러를
X에 적용해 스케일된 값X_scaled를 얻어, 모든 특성이 0~1 범위가 되도록 하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import the scaler
from sklearn.preprocessing import ____
# Take the float values of df for X
X = df.values.astype(np.____)
# Define the scaler and apply to the data
scaler = ____()
X_scaled = scaler.____(X)