数据分享|电信行业客户流失预测:KNN、朴素贝叶斯、逻辑回归、LDA/QDA、随机森林、支持向量机、CART、神经网络

简介: 数据分享|电信行业客户流失预测:KNN、朴素贝叶斯、逻辑回归、LDA/QDA、随机森林、支持向量机、CART、神经网络

客户流失是一个存在于各个行业的严重问题,这一问题也同样受到众多电信服务提供商的关注——因为获得一个新客户的成本远远超过保留一个老客户的成本点击文末“阅读原文”获取完整数据

相关视频

image.png

image.png

image.png

image.png

image.png

因此,探索可能对客户流失产生重要影响的相关指标,并根据现有信息对未来进行预测至关重要,这可以帮助服务提供商识别客户流失的潜在风险,提出有针对性的计划,从而有效提高客户保留率。项目的关键挑战在于如何找出对客户流失最具有影响力的因素,以及如何对各异的机器学习模型进行评价,挑选出适合做预测的最佳模型。

解决方案

任务/目标

探索可能对客户流失产生重要影响的相关指标;挑选出适合做预测的机器学习模型

数据源

用于分析的电信客户流失数据集查看文末了解数据免费获取方式涵盖7000多位电信业务用户的签订服务类别、人口统计特征和账户信息。该数据集总共有20个变量。因变量是客户流失标识,记录最近一个月内客户是否流失。其他19个自变量用于从多个角度描述客户。

为了更好地理解这些特性并分析它们与客户流失的关系,我将它们分为三类。如下图所示,第一类描述了客户的基本特征,如性别,是否为老年人,是否有伙伴或家属。这些功能与用户的日常生活密切相关,可能会影响用户的流失行为。二是电信合同的特点。这一类描述了合同的有效期,合同是否使用无纸化账单,支付方式,以及合同的月度费用、总费用等数字特征。这些特征反映了客户与电信合同相关的选择,在客户流失中起着至关重要的作用。例如,选择长期合同的客户可能有更低的流失机会。最后一类是服务功能,重点在于电话服务及互联网服务的相关指标。

30b83178e40af2e8b3321802198e8ec5.png

探索性数据分析

通过对分类变量进行堆积柱状图的可视化呈现以及对数值变量的分布研究、箱型图可视化、相关性计算进行探索性数据分析。在此基础上,选择对目标流失变量有显著影响的特征。就分类变量而言,首先,没有合作伙伴或家属的老年人客户流失率更高。第二,选择光纤网络服务而不选择其他网络服务的客户流失率较高。三是选择按月合同、无纸化账单和电子支票支付方式的客户流失率较高。就数值变量而言,总留存时间较短、总付费较低的客户更有可能离开。收费与总留存时间呈正相关。研究结果不仅为机器学习的研究提供了有益的参考,而且具有一定的商业应用价值。

数据处理

将所有的分类变量转换为dummy variable,对所有的数值变量进行z-normalization以消除不同变量间的量级差异。

在建立模型前,将模型随机分割成training set和testing set,数据量比例为3:1;在模型调参时,使用5折交叉验证法。

建模

KNN

K-最近邻(KNN)分类器是监督学习中最经典、最直观的方法。其中最近点的概念是由欧氏距离定义的,因此需要将特征转化为一个标准范围,以避免一些大范围特征导致的优势。因为已经对数据进行了z-normalization,所以这不会成为模型的问题。

在调整参数时,尝试了K从1到100的不同选择。5折交叉验证的预测精度如下图所示。最终取最优K=66。

18dee778ee8267be4c2ecb9a31271a86.png

朴素贝叶斯

逻辑回归

我通过5折交叉验证对特征进行向后选择、向前选择和逐步选择,其中表中显示的精度是通过在验证数据集上取性能的平均值计算的。根据他们的表现,最终选择了逐步选择的作为模型。

根据逻辑回归系数的p-value,总留存时间、月租费和电话服务是前3个显著变量。总留存时间和电话服务对客户流失有负影响,而月租费对客户流失有正影响。换句话说,如果一个新客户的总留存时间很短,没有电话服务,并且每个月支付很高的费用,他很可能流失。这符合直觉,因为老客户更忠诚。此外,在没有电话服务的情况下,客户对特定电信服务提供商的依赖性也不是很强。此外,高昂的月费可能会让客户不再坚持使用某家电信公司的服务。

14264e22d52b1b59280fd8f908b79b7f.png

LDA/QDA

我实现了两种形式的判别分析:线性判别分析(LDA)和二次判别分析(QDA)。前者比后者灵活,但不需要估计太多的参数。

随机森林

用随机的方式建立一个森林,森林由很多决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类。

支持向量机

支持向量机找到一个超平面来分离具有最大边界的类。在某种程度上,它类似于Logistic回归和LDA,但当类几乎是可分离的,支持向量机做得相当好。此外,核支持向量机可以绘制非线性边界,建模非常灵活。最常见的核函数是线性,多项式,高斯RBF(径向)和Sigmoid。

在参数的调整中,可以选择不同的核形式,也可以选择不同的惩罚参数c的值。为了得到更准确的模型预测性能的估计,采用了5折交叉验证。

31adcc7a2d5816957a293212ebf78eef.png

52d7bbe86ab857dd7755e664b86ebaf2.png

1a021047f15e5fec34efe28f017e7488.png

172f89cec61e54e9afaef5caf4e73ace.png

fdc8f42d5b7c6582d41e06e4d281e326.png


点击标题查阅往期内容


数据分享|R语言决策树和随机森林分类电信公司用户流失churn数据和参数调优、ROC曲线可视化



左右滑动查看更多



01

02

03

04



CART

分类与回归树(CART)是一种基于树的模型,涉及到分层和分割预测空间。分裂的行为可以归纳为一棵树,也称为决策树。

在分类树中,我使用基尼指数来衡量节点的纯度,然后递归地对节点进行二叉分割,以搜索出最优分区。最后,我通过一些停止条件在叶节点停止。

然而,由于过拟合的原因,分类树可能在训练集中表现良好,但在测试集中表现不佳。因此,我们需要修剪树,使其不那么复杂,以便在测试数据上有更好的性能。我采用的方法是成本复杂度剪枝(CCP)和5折叉验证。

c3c53803f472c927e6267b1bdd26e5b2.png

随机森林

树很容易被理解和可视化,但它有时并没有很好的预测精度。为此,我们采用了一些集成学习方法来提高它的性能。随机森林则更进一步,对袋装树的特征进行随机选择。这样的选择可以解除套袋树的关联,使树的平均结果更加可靠。在randomForest()函数中,ntree表示随机森林中包含的决策树的数量,max_depth表示从根节点到最远的叶子节点的节点数量。它们在调整参数时非常有用,我们尝试使用step = 50将ntree设置为50至500,使用step = 10将max_depth设置为10至100。使用不同ntree和max_depth的模型的性能如下图所示。

b844284aff36520bb0411fb5f7a24079.png

在随机森林模型中,我们也可以通过平均减少基尼系数来知道不同变量的重要程度。发现最重要的变量是TotalCharges, MonthlyCharges和tenure。

XGBoost

Boosting是另一种提高模型性能的集成学习方法。boosting算法通过迭代重新加权训练数据的观测值来处理底层训练数据。在所有的增强算法中,XGBoosting(极端梯度增强)被认为是最强大的模型之一。它可以使用正则化来避免过拟合,有效地处理丢失的数据,并以极快的速度建立树。

6b378458b79c8a55ab07a92e6836a26e.png

神经网络

前馈神经网络作为一种强大的深度学习方法,也被用于提高预测性能。前馈神经网络是一种单元之间没有递归关系,信息在网络中只向前传播的神经网络。通过进行正向和反向计算阶段来训练网络。应用R包“nnet”构建具有隐含层的前馈神经网络。

1c789092faffe96a5e01251fe569ec81.png

模型 比较

指标选择

dd997c2aadef2f54b292885202a690e0.png

Precision表示在所有预测中对流失客户的正确预测所占的比例。电信公司希望确保他们留住这些客户的成本在经济上是有效的。换句话说,他们很可能会花钱留住FN+TN的客户,但实际上只有TN的客户流失了。因此,Precision作为衡量客户保留计划有效性的一个重要指标。

9ac79afb8cd024d562d88526ce7938fe.png

Recall代表正确预测的流失顾客在所有流失顾客中的比例。对于电信公司来说,有流失倾向的客户被留存得越多越好。因此,Recall是衡量成功识别流失客户能力的有效指标。

e24b0deefe8a70b76ba0091591adc0c9.png

对比

a36539500501c78eff1051298a631481.png

5931bfecd628c370d0e2c9d4cbd6f272.png

db5f65295532ea7519db2666ed48cdc9.png

45902d4f2189895e0b9eaa5c0b3ac690.png

ab1684c41ece88628bc8184882ff9f68.png

根据探索性数据分析部分的观察结果和logistic回归和随机森林中的重要性度量,电信企业应特别关注总留存时间、月租费和电话服务等关键变量。如果客户是新客户,每月支付高额费用,或者没有电话服务,那么电信公司很有可能会失去这个用户。除了朴素贝叶斯模型和CART模型之外,其他模型的性能都不差,而且彼此之间非常相似。如果要选择其中一种作为电信公司应用客户流失预测的推荐方法,前馈神经网络模型可能会被选择,因为前馈神经网络模型在不同测度下表现相对稳定。

基于以上结论,从业务的角度提出以下建议:

1.根据前馈神经网络模型,建立流失率高的用户列表。对上市用户进行实时监控、用户调研和回访。

2.对于新客户,可以提供半年期优惠券等折扣,以度过用户流失的高峰期。对于光纤用户和附加流媒体电视和电影业务用户,重点是改善网络体验和增值业务体验。需要提升技术部门以改善网络指标。此外,公司应承诺为目标用户提供免费网络升级和每月免费电视、电影等服务,以提高用户粘性。

3.对于在线安全、在线备份、设备保护、技术支持等增值服务,公司应提供以用户介绍和推广为主的折扣,如首个月或半年免费体验。

4.针对月度签约用户,推出年度签约支付折扣活动,将月度签约用户转化为年度签约用户。

相关文章
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的魔法:如何用神经网络解锁数据的奥秘
在人工智能的璀璨星空中,深度学习犹如一颗最亮的星,它以其强大的数据处理能力,改变了我们对世界的认知方式。本文将深入浅出地介绍深度学习的核心概念、工作原理及其在不同领域的应用实例,让读者能够理解并欣赏到深度学习技术背后的奇妙和强大之处。
46 3
|
3月前
|
机器学习/深度学习 传感器 自然语言处理
深度学习的魔法:如何用神经网络解锁数据的秘密
在这个数字信息爆炸的时代,深度学习技术如同一把钥匙,揭开了数据隐藏的层层秘密。本文将深入浅出地探讨深度学习的核心概念、关键技术和实际应用,带领读者领略这一领域的奥秘与魅力。通过生动的比喻和直观的解释,我们将一起走进神经网络的世界,看看这些由数据驱动的“大脑”是如何学习和成长的。无论你是科技爱好者还是行业新手,这篇文章都将为你打开一扇通往未来的大门。
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习与神经网络:探索复杂数据的表示
【9月更文挑战第26天】深度学习作为人工智能领域的明珠,通过神经网络自动从大数据中提取高级特征,实现分类、回归等任务。本文介绍深度学习的基础、张量表示、非线性变换、反向传播及梯度下降算法,并探讨其在计算机视觉、自然语言处理等领域的应用与挑战。未来,深度学习将更加智能化,揭示数据背后的奥秘。
|
4月前
|
机器学习/深度学习 搜索推荐 知识图谱
图神经网络加持,突破传统推荐系统局限!北大港大联合提出SelfGNN:有效降低信息过载与数据噪声影响
【7月更文挑战第22天】北大港大联手打造SelfGNN,一种结合图神经网络与自监督学习的推荐系统,专攻信息过载及数据噪声难题。SelfGNN通过短期图捕获实时用户兴趣,利用自增强学习提升模型鲁棒性,实现多时间尺度动态行为建模,大幅优化推荐准确度与时效性。经四大真实数据集测试,SelfGNN在准确性和抗噪能力上超越现有模型。尽管如此,高计算复杂度及对图构建质量的依赖仍是待克服挑战。[详细论文](https://arxiv.org/abs/2405.20878)。
80 5
|
4月前
|
机器学习/深度学习 PyTorch 算法框架/工具
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
|
5月前
|
机器学习/深度学习 算法
基于蛙跳优化的神经网络数据预测matlab仿真
使用MATLAB2022a,应用蛙跳优化算法(SFLA)调整神经网络权重,提升预测精度,输出预测曲线。神经网络结合输入、隐藏和输出层进行预测,蛙跳算法模仿蛙群觅食行为优化权重和阈值。算法流程包括蛙群初始化、子群划分、局部搜索及适应度更新,直至满足停止条件。优化后的神经网络能提升预测性能。
|
6月前
|
机器学习/深度学习 存储 数据采集
随机森林填充缺失值、BP神经网络在亚马逊评论、学生成绩分析研究2案例合集1
随机森林填充缺失值、BP神经网络在亚马逊评论、学生成绩分析研究2案例合集
|
6月前
|
机器学习/深度学习 监控 数据可视化
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例2
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例
|
6月前
|
机器学习/深度学习 自然语言处理 运维
随机森林填充缺失值、BP神经网络在亚马逊评论、学生成绩分析研究2案例合集2
随机森林填充缺失值、BP神经网络在亚马逊评论、学生成绩分析研究2案例合集
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】