변수 중심화와 스케일링

Python을 활용한 고객 세분화

Karolis Urbonas

Head of Data Science, Amazon

문제 파악

  • 데이터셋의 주요 통계 분석
  • 평균과 표준편차 비교
datamart_rfm.describe()

Python을 활용한 고객 세분화

평균이 다른 변수 중심화

  • K-평균은 평균이 같은 변수에서 잘 동작합니다
  • 변수 중심화: 각 관측치에서 평균을 뺍니다
datamart_centered = datamart_rfm - datamart_rfm.mean()
datamart_centered.describe().round(2)

Python을 활용한 고객 세분화

분산이 다른 변수 스케일링

  • K-평균은 분산/표준편차가 같은 변수에서 더 잘 동작합니다
  • 변수 스케일링: 각 변수의 표준편차로 나눕니다
datamart_scaled = datamart_rfm / datamart_rfm.std()
datamart_scaled.describe().round(2)

Python을 활용한 고객 세분화

중심화와 스케일링 결합

  • 평균을 빼고 표준편차로 나누어 직접 수행
  • 또는 scikit-learn의 스케일러 사용 (numpy.ndarray 반환)
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(datamart_rfm)
datamart_normalized = scaler.transform(datamart_rfm)

print('mean: ', datamart_normalized.mean(axis=0).round(2)) print('std: ', datamart_normalized.std(axis=0).round(2))
mean:  [-0. -0.  0.]
std:  [1. 1. 1.]
Python을 활용한 고객 세분화

직접 여러 방법을 시험해 보세요!

Python을 활용한 고객 세분화

Preparing Video For Download...