Chuẩn hóa và tỷ lệ hóa biến

Phân khúc khách hàng bằng Python

Karolis Urbonas

Head of Data Science, Amazon

Xác định vấn đề

  • Phân tích thống kê chính của bộ dữ liệu
  • So sánh trung bình và độ lệch chuẩn
datamart_rfm.describe()

Phân khúc khách hàng bằng Python

Chuẩn hóa biến có trung bình khác nhau

  • K-means hoạt động tốt khi các biến có cùng trung bình
  • Chuẩn hóa (centering) bằng cách trừ giá trị trung bình khỏi từng quan sát
datamart_centered = datamart_rfm - datamart_rfm.mean()
datamart_centered.describe().round(2)

Phân khúc khách hàng bằng Python

Tỷ lệ hóa biến có phương sai khác nhau

  • K-means tốt hơn khi các biến có cùng phương sai/độ lệch chuẩn
  • Tỷ lệ hóa (scaling) bằng cách chia cho độ lệch chuẩn của từng biến
datamart_scaled = datamart_rfm / datamart_rfm.std()
datamart_scaled.describe().round(2)

Phân khúc khách hàng bằng Python

Kết hợp chuẩn hóa và tỷ lệ hóa

  • Tự trừ trung bình và chia cho độ lệch chuẩn
  • Hoặc dùng scaler của thư viện scikit-learn (trả về đối tượng 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.]
Phân khúc khách hàng bằng Python

Tự thử các cách tiếp cận khác nhau!

Phân khúc khách hàng bằng Python

Preparing Video For Download...