Phân khúc khách hàng bằng Python
Karolis Urbonas
Head of Data Science, Amazon
Chúng ta đã hoàn tất tiền xử lý và có hai đối tượng:
datamart_rfmdatamart_normalizedimport numpy as np
datamart_log = np.log(datamart_rfm)
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(datamart_log)
datamart_normalized = scaler.transform(datamart_log)
# Import package
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=2, random_state=1)
# Tính k-means trên dữ liệu đã tiền xử lý
kmeans.fit(datamart_normalized)
# Lấy nhãn cụm từ thuộc tính labels_
cluster_labels = kmeans.labels_
# Tạo cột nhãn cụm trong DataFrame gốc
datamart_rfm_k2 = datamart_rfm.assign(Cluster = cluster_labels)
# Tính RFM trung bình và kích thước từng cụm
datamart_rfm_k2.groupby(['Cluster']).agg({
'Recency': 'mean',
'Frequency': 'mean',
'MonetaryValue': ['mean', 'count'],
}).round(0)
Kết quả của nghiệm 2 cụm đơn giản:
Phân khúc khách hàng bằng Python