数据分享|R语言用核Fisher判别方法、支持向量机、决策树与随机森林研究客户流失情况

简介: 数据分享|R语言用核Fisher判别方法、支持向量机、决策树与随机森林研究客户流失情况

现在,越来越多的人意识到预测客户的流失与否是一件非常重要的事情。而且比较值得注意的是,留住原有的客户是要比吸引新客户更加容易的,而且成本更低点击文末“阅读原文”获取完整数据

相关视频

image.png

客户的流失可以从三个不同的方面来考虑。首先,失去现有客户相当于失去一台机器的重要零件并且不能保证马上就能换上新的,因为它们是公司的最宝贵的资产。此外,根据同样的假想假设,失去一个客户意味着有意将这些资产转移给公司的竞争对手。最后,吸引新客户是一项非常费力的任务。而且吸收新用户后依旧要考虑留住他们。所以,预测客户的流失是一件十分需要研究的问题。

数据说明与评估准则

数据说明

使用的数据集查看文末了解数据免费获取方式是在12个月期间从运营商呼叫中心的数据库中随机收集的。该数据集包含了3150个客户的数据,有呼叫失败次数、投诉次数、订阅长度、收费金额、使用秒数、使用频率、短信频率、不同呼叫次数、年龄组、服务类型、状态和流失一共11个特征变量加上一个类变量。显然其中流失是我们最感兴趣的一个变量,也是我们希望能够成功预测的变量。

查看数据集,其中一共有495条记录客户被流失,而2645条记录显示没有被流失。为了更好的训练与测试数据,将数据集按照训练集与测试集7:3的比例进行划分,并且在其中保持客户流失的比例不变。即训练集与测试集中流失客户的比例也是7:3。

评估准则

由于数据中实际流失与否只有两种结果,所以实际上这就是一个2分类问题,所以预测结果也就是两种,0和1。所以预测的结果一般为表3.1的结果。


1e4698ad329bcf901b62e22bc412a8b5.png

所以有以下比较常见的指标用于衡量判别结果:

15a261ef0c90accbd414ca0e52a252a5.png

本文采用的是F-Score。

 

实证分析

决策树与随机森林

顾名思义,决策树判别法基于树状分类模型,在每一次分类的叉点,都会对样本的某一属性进行判别,最终实现分类判别的目的。本文通过R语言软件“rpart”包对数据进行了判别分析。图给出了决策树的结构图,可以看见的是最长的一个枝一共有9个节点。

e2647058d1400964120c4447d8077a3b.png

c9eea85529c6425fed9a62957ac75199.png


随机森林是一种较为先进的机器学习模型,对于高维度的数据(如本文研究内容)的效果较好,不需要做特征选择,对数据适应能力较好。本文通过R语言软件“randomForest”包对数据进行了判别分析。图给出了随机森林中的重要性排序,可以看出投诉次数是最重要的一个指标。

1c08c60f786f216cbc2395d865203133.png

8f58661f09556215d3c4d8a6a649e27c.png

支持向量机

支持向量机是一种很热门的机器学习模型,本文通过R语言软件“e1071”包对数据进行了判别分析。表给出了SVM的结果,但是很明显,支持向量机在预测流失是否等于1的结果是非常不好,反而预测流失是否等于0的情况较好,不过这样的结果F-Score值会较低。

5d4f1b34f4ffc80b2e6393ef08a42bf4.png

核Fisher判别方法

KFDA是在Fisher判别的基础做出一种改进算法,本文通过R语言“kfda”包对数据进行了分析。核Fisher判别的结果与SVM相似,都不是十分的理想。从图中也可以看出来,两个类别的样本在图中并没有被区分开来。

e14769f2f2664fe08c0b4953f5c28520.png

bd5539cd65fa05167997cb150ac3a75b.png

总结与展望

通过表,可以看出,随机森林的F-Score值时最大的,代表了随机森林的准确率也是最高的,在这四个模型中,随机森林预测出客户是否会被流失的正确性也越高。并且通过多次抽样预测,都是随机森林的结果最好,而且最高的F-Score都不会达到0.89。

ab8db3c6bc0239f4a167281d53d6d6cd.png

相关文章
|
4天前
|
数据可视化 算法
【R语言实战】——kNN和朴素贝叶斯方法实战
【R语言实战】——kNN和朴素贝叶斯方法实战
|
4天前
|
Web App开发 数据可视化 数据挖掘
利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)
利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)
|
4天前
|
数据采集 数据可视化
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
|
4天前
|
移动开发 数据可视化
广义线性模型beta二项分布的淋巴结疾病风险预测可视化R语言2实例合集|附数据代码
广义线性模型beta二项分布的淋巴结疾病风险预测可视化R语言2实例合集|附数据代码
|
4天前
|
机器学习/深度学习 人工智能 数据可视化
【视频】R语言支持向量回归SVR预测水位实例讲解|附代码数据
【视频】R语言支持向量回归SVR预测水位实例讲解|附代码数据
|
4天前
|
机器学习/深度学习 数据可视化
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码
|
4天前
|
机器学习/深度学习 数据采集 算法
数据分享|R语言机器学习预测案例合集:众筹平台、机票折扣、糖尿病患者、员工满意度
数据分享|R语言机器学习预测案例合集:众筹平台、机票折扣、糖尿病患者、员工满意度
|
4天前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
4天前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
4天前
利用R语言进行典型相关分析实战
利用R语言进行典型相关分析实战

热门文章

最新文章