3.数据变换
数据变换是将数据转换成“适当的”格式,以适应挖掘任务及算法的需要。本案例中主要采用的数据变换方式为属性构造和数据标准化。
由于原始数据中并没有直接给出LRFMC五个指标,需要通过原始数据提取这五个指标,具体的计算方式如下。
(1)L=LOAD_TIME-FFP_DATE
会员入会时间距观测窗口结束的月数=观测窗口的结束时间-入会时间[单位:月]
(2)R=LAST_TO_END
客户最近一次乘坐公司飞机距观测窗口结束的月数=最后一次乘机时间至观察窗口末端时长[单位:月]
(3)F=FLIGHT_COUNT
客户在观测窗口内乘坐公司飞机的次数=观测窗口的飞行次数[单位:次]
(4)M=SEG_KM_SUM
客户在观测时间内在公司累计的飞行里程=观测窗口的总飞行公里数[单位:公里]
(5)C=AVG_DISCOUNT
客户在观测时间内乘坐舱位所对应的折扣系数的平均值=平均折扣率[单位:无]
5个指标的数据提取后,对每个指标数据分布情况进行分析,其数据的取值范围见表7-6。从表中数据可以发现,5个指标的取值范围数据差异较大,为了消除数量级数据带来的影响,需要对数据进行标准化处理。
表7-6 LRFMC指标取值范围
标准差标准化处理的Python代码如代码清单7-3所示,datafile为输入数据文件,zscoredata为标准差标准化后数据集。
代码清单7-3 标准差标准化
#-*- coding: utf-8 -*- #标准差标准化 import pandas as pd datafile = '../data/zscoredata.xls' #需要进行标准化的数据文件; zscoredfile = '../tmp/zscoreddata.xls' #标准差化后的数据存储路径文件; #标准化处理 data = pd.read_excel(datafile) data = (data - data.mean(axis = 0))/(data.std(axis = 0)) #简洁的语句实现了标准化变 换,类似地可以实现任何想要的变换。 data.columns=['Z'+i for i in data.columns] #表头重命名。 data.to_excel(zscoredfile, index = False) #数据写入
代码详见:示例程序/code/zscore_data.py
标准差标准化处理后,形成ZL、ZR、ZF、ZM、ZC 5个属性的数据,如表7-7所示。
表7-7 标准化处理后的数据集
数据详见:示例程序/data/zscoreddata.xls
7.2.4 模型构建
客户价值分析模型构建主要由两个部分构成,第一个部分根据航空公司客户5个指标的数据,对客户进行聚类分群。第二部分结合业务对每个客户群进行特征分析,分析其客户价值,并对每个客户群进行排名。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论