数据分享|电信行业客户流失预测: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月前
|
监控 安全 网络安全
云计算与网络安全:保护数据的关键策略
【9月更文挑战第34天】在数字化时代,云计算已成为企业和个人存储、处理数据的优选方式。然而,随着云服务的普及,网络安全问题也日益凸显。本文将探讨云计算环境中的网络安全挑战,并提供一系列策略来加强信息安全。从基础的数据加密到复杂的访问控制机制,我们将一探究竟如何在享受云服务便利的同时,确保数据的安全性和隐私性不被侵犯。
70 10
|
3月前
|
存储 安全 网络安全
云计算与网络安全:守护数据,构筑未来
在当今的信息化时代,云计算已成为推动技术革新的重要力量。然而,随之而来的网络安全问题也日益凸显。本文从云服务、网络安全和信息安全等技术领域展开,探讨了云计算在为生活带来便捷的同时,如何通过技术创新和策略实施来确保网络环境的安全性和数据的保密性。
|
17天前
|
云安全 人工智能 安全
|
1月前
|
机器学习/深度学习 数据采集 算法
机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用
医疗诊断是医学的核心,其准确性和效率至关重要。本文探讨了机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用。文章还讨论了Python在构建机器学习模型中的作用,面临的挑战及应对策略,并展望了未来的发展趋势。
117 1
|
1月前
|
安全 算法 网络安全
量子计算与网络安全:保护数据的新方法
量子计算的崛起为网络安全带来了新的挑战和机遇。本文介绍了量子计算的基本原理,重点探讨了量子加密技术,如量子密钥分发(QKD)和量子签名,这些技术利用量子物理的特性,提供更高的安全性和可扩展性。未来,量子加密将在金融、政府通信等领域发挥重要作用,但仍需克服量子硬件不稳定性和算法优化等挑战。
|
1月前
|
存储 安全 网络安全
云计算与网络安全:保护数据的新策略
【10月更文挑战第28天】随着云计算的广泛应用,网络安全问题日益突出。本文将深入探讨云计算环境下的网络安全挑战,并提出有效的安全策略和措施。我们将分析云服务中的安全风险,探讨如何通过技术和管理措施来提升信息安全水平,包括加密技术、访问控制、安全审计等。此外,文章还将分享一些实用的代码示例,帮助读者更好地理解和应用这些安全策略。
|
27天前
|
弹性计算 安全 容灾
阿里云DTS踩坑经验分享系列|使用VPC数据通道解决网络冲突问题
阿里云DTS作为数据世界高速传输通道的建造者,每周为您分享一个避坑技巧,助力数据之旅更加快捷、便利、安全。本文介绍如何使用VPC数据通道解决网络冲突问题。
86 0
|
1月前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:从漏洞到加密,保护数据的关键步骤
【10月更文挑战第24天】在数字化时代,网络安全和信息安全是维护个人隐私和企业资产的前线防线。本文将探讨网络安全中的常见漏洞、加密技术的重要性以及如何通过提高安全意识来防范潜在的网络威胁。我们将深入理解网络安全的基本概念,学习如何识别和应对安全威胁,并掌握保护信息不被非法访问的策略。无论你是IT专业人士还是日常互联网用户,这篇文章都将为你提供宝贵的知识和技能,帮助你在网络世界中更安全地航行。
|
2月前
|
存储 安全 网络安全
云计算与网络安全:如何保护您的数据
【10月更文挑战第21天】在这篇文章中,我们将探讨云计算和网络安全的关系。随着云计算的普及,网络安全问题日益突出。我们将介绍云服务的基本概念,以及如何通过网络安全措施来保护您的数据。最后,我们将提供一些代码示例,帮助您更好地理解这些概念。
|
2月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
69 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)

热门文章

最新文章