返回介绍

3.数据变换

发布于 2024-01-28 21:41:24 字数 1680 浏览 0 评论 0 收藏 0

数据变换是将数据转换成“适当的”格式,以适应挖掘任务及算法的需要。本案例中主要采用的数据变换方式为属性构造和数据标准化。

由于原始数据中并没有直接给出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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文