数据挖掘 | 航空公司客户流失预测
之前的一篇博客介绍了关于航空公司客户价值分析,今天的这篇博客将对航空公司的客户的流失进行预测。采用的是相同的数据集。
1. 背景
客户流失对企业利润的增长造成的负面影响很大。客户与航空公司之间的关系越长久,给公司带来的利润就会越高。所以,流失一个客户比获得一个新客户对公司带来的损失更大,因为要获得新客户需要再销售、市场、广告和人员工资等方面花费很多的成本,并且大多数新客户产生的利润并不如老客户高。
因此,在国内航空市场竞争日益激烈的背景下,航空公司在客户流失方面应该高度重视。本次项目的目的是根据航空公司的数据对老客户的流失做出预测。
2. 建模前
客户流失预测主要针对老客户。这里的老客户的界定是飞行次数大于 6 次。
2.1 类别标记
接下来给老客户打标签,将第二年飞行次数与第一年飞行次数相比比例小于50%的标记为流失客户,记为 1;将第二年飞行次数与第一年飞行次数相比比例大于等于50%的标记为非流失客户,记为 0。
用Python实现的方法如下:
airline['class'] = airline['L1Y_Flight_Count'] / airline['P1Y_Flight_Count']def class(x):if x >= 0.5: return 0else: return 1airline['class'] = airline['class'].apply(class)
2.2 特征选择
选择如下变量作为预测的特征:
FFP_TIER
AVG_INTERVAL
avg_discount
BP_SUM
WEIGHTED_SEG_KM
EXCHANGE_COUNT
Points_Sum
Point_NotFlight
Eli_Add_Point_Sum
FLIGHT_COUNT
SEG_KM_SUM
EP_SUM
ADD_Point_SUM
2.3 数据预处理
这里的数据预处理主要包括两个:
- 对
FFP_TIER
进行onehot编码
train_data = airline.iloc[1:,0:13]
tmp = np.array(train_data.iloc[:,0:1])
tmp2 = OneHotEncoder(sparse=False).fit_transform(tmp[:, (0,)])
X = np.hstack((train_data.iloc[:,1:], tmp2))
- 对数据进行标准化处理
3. 建模
对客户流失预测可选择的机器学习方法有很多,本案例采用随机森林进行建模预测。
3.1 训练集预测集划分
按照 8 : 2 的比例对数据集进行划分
train_x, test_x, train_y, test_y = train_test_split(X, y, test_size = 0.2, random_state = 123)
3.2 训练模型
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier()
clf.fit(train_x, train_y)
3.3 训练结果
准确率
acc = clf.score(test_x, test_y)
print(acc)
>> 0.769384308306464
混淆矩阵
from sklearn.metrics import confusion_matrix, precision_recall_curve
cm = confusion_matrix(test_y, predict_y)
print(cm)
# 输出
[[4831 140][1362 180]]
混淆矩阵可视化
PR曲线
特征重要性
随机森林模型可以对特征的重要性进行排序,得到的结果如下图。
结论
从结果来看,客户的流失率预测的准确率并不高。可以通过如下方法来尝试提高预测准备率:
- 寻找最佳的超参数,在本案例中并没有对参数进行调整,采用的是默认参数。
- 尝试其他不同的模型,常见的表现不错的模型有:Logistic Regression, SVM, xgboost等。
- 特征选择,重新选择特征,可以采用加入特征或删除特征的方法来看对结果的贡献。
数据挖掘 | 航空公司客户流失预测相关推荐
- 数据挖掘——航空公司客户价值分析(分析+建模)
前言 本次建模项目是来自于<python数据分析与挖掘实战>的案例,是介绍航空公司客户价值的分析,书中给出了关于62988个客户的基本信息和在观测窗口内的消费积分等相关信息,其中包含了会员 ...
- 数据挖掘——航空公司客户价值分析(代码完整)
最近在阅读张良均.王路等人出版的书<python数据分析与挖掘实战>,其中有个案例是介绍航空公司客户价值的分析,其中用到的聚类方法是K-Means方法,我一直把学习的重心放在监督学习上,今 ...
- 数据挖掘——航空公司客户分类与价值评估案例
1. 背景和目标 1.1 背景 航空公司竞争压力大,企业营销焦点由产品中心转为客户中心 针对不同类型的用户,进行精准营销,实现利润最大化 解决问题的关键是建立合理的客户价值评估模型,对客户进行分类,有 ...
- 基于机器学习的航空公司客户价值分析与流失预测
温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目背景 面对激烈的市场竞争,各个航空公司相继推出了更优惠的营销方式来吸引更多的客户,国内某航空公司面临着常旅 ...
- 航空公司客户价值分析(附完整代码)
一.什么是客户价值分析: 客户价值分析是以客户为中心,从客户需求出发,搞清楚客户需要什么,他们有怎样的一个特征,需要什么样的产品,然后设计相应的产品,通过对客户分群从而满足客户的需求.进行客户价值 ...
- 基于分类方法的银行客户流失预测
一.绪论 近年来,随着支付宝.微信等第三方支付平台的流行和经济体制改革的深化,银行同业间的竞争出现了恶化的趋势,客户流失率的与日俱增也使得银行机构的经营变得紧张.其次,在"互联网+" ...
- 【数据挖掘实战】——航空公司客户价值分析(K-Means聚类案例)
目录 一.背景和挖掘目标 1.RFM模型缺点分析 2.原始数据情况 3.挖掘目标 二.分析方法与过程 1.初步分析:提出适用航空公司的LRFMC模型 2.总体流程 第一步:数据抽取 第二步:探索性分析 ...
- 基于python分析航空公司客户价值《数据挖掘》 课程实验报告
一.实验目的 1)了解K-Means 聚类算法在客户价值分析实例中的应用. 2)利用pandas快速实现数据z-score(标准差)标准化以及用scikit-learn 的聚类库实现K-Means聚类 ...
- Python数据挖掘:利用聚类算法进行航空公司客户价值分析
无小意丶 个人博客地址:无小意 知乎主页:无小意丶 公众号: 数据路(shuju_lu) 刚刚开始写博客,希望能保持关注,会继续努力. 以数据相关为主,互联网为辅进行文章发布. 本文是<Pyth ...
最新文章
- 補丁文件patch制作流程
- μC/OS-I移植需要编写的文件
- 监控h264视频不能正常解码怎么办
- maven打包报错You have to use a classifier to attach supplemental artifacts to the project instead of rep
- 会议交流 | 知识图谱前沿技术与热门应用
- 汉诺塔java程序_Java编写一个汉诺塔的过程
- SpringBoot——slf4j+logback日志处理及配置详解
- 服务器Ubuntu Import Error:cannot import name main
- 《ArcGIS Runtime SDK for Android开发笔记》——(12)、自定义方式加载Bundle格式缓存数据...
- 计算机怎么接入外接键盘,无线键盘怎么连接电脑 享受无线惬意生活【图文】...
- [sig19]寒霜引擎中strand-based(基于线)的头发渲染
- u盘推荐知乎_市面上的U盘怎么选择?U盘那个牌子好?
- Java打印一个正三角形
- php图片png转APNG,APNG\WEBP图片格式转换器
- CSDN-markdown编辑器的模板(自己码一下方便以后使用)
- 移动硬盘 Windows-延缓写入失败:无法为某文件保存所有数据,数据已经丢失
- 微信小程序实现本地存储
- matlab 2016a
- 2022,程序员应该如何找工作
- c语言追光篮球程序,追光篮球游戏下载-追光篮球苹果版v1.0_6137游戏网
热门文章
- 如何得到满意的好答案
- Loki 收集Nginx日志以 grafana 可视化展示
- 手把手带你撸一个校园APP(五):新闻中心模块
- 高等数学:第五章 定积分(4) 定积分的换元法
- 趣拿场景营销拥有哪些黑科技
- 拦截召唤神龙云文件,运行本地文件(侵删)
- adb模拟按键home_adb命令中 模拟按键 KeyCode 部分详解
- 核显 linux 软件,同样的核显,看在线视频ubuntu更卡 - Linux系统与应用 - LinuxApp - 水木社区...
- 手机怎么把图片制作成短视频,原来还有这种傻瓜式的操作,长知识了
- 【Win7系统中怎么在我的电脑里面找回摄像头设置】