0.引言
本文是在学习《Python数据分析与挖掘实战》时的一个记录,文中代码可点击下载,对书中部分代码进行改动以适应新版本。同时感谢https://github.com/apachecn/python_data_analysis_and_mining_action前辈无私分享的资料。
1.问题提出与建模
航空公司对于根据以往客户乘机数据,将用户分类,对每种用户特点进行有针对的服务。
应用比较通用的为LRFMC模型,对所获得数据进行指标提取,获得所需数据,具体数据清洗,标准化参照书中模型。
指标含义.PNG
建模流程为:
建模流程.PNG
这在其他问题的建模中也可以借鉴。
2.聚类分析
处理后的数据样式为:
训练数据.PNG
其中ZL可以理解为入会时间,ZR最近一次坐飞机多久了,ZF累计飞了多少次,ZM累计飞了多远,ZC为所有消费的平均折扣。
调用KMeans方法对特征数据进行聚类,代码为:
import pandas as pd
from sklearn.cluster import KMeans
k = 5
data = pd.read_excel('zscoreddata.xls')
cluster_centers = 'cluster_centers.xls'
kmodel = KMeans(n_clusters=k,n_jobs=4)#n_jobs并行数,一般等于cpu数
kmodel.fit(data)
print(kmodel.cluster_centers_)#输出聚类中心点
center = kmodel.cluster_centers_
center = pd.DataFrame(center)
center.to_excel(cluster_centers, index=False)
print(kmodel.labels_)#输出每个客户的标签
labels =kmodel.labels_
labels = pd.DataFrame(labels)
labels.to_excel('zscoreddatanew.xls', index=False)
输出结果为:
聚类中心点.png 用户分布.png
网友评论