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

现在,越来越多的人意识到预测客户的流失与否是一件非常重要的事情。而且比较值得注意的是,留住原有的客户是要比吸引新客户更加容易的,而且成本更低。

由Jiaojiao Zhao撰写

客户的流失可以从三个不同的方面来考虑。

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



本文分析的数据分享至会员群


× 我们先不看它的定义,单纯的思考一个问题:我们怎么将线性不可分的数据分开? 我想只要是学习过机器学习的人都曾经思考过这个问题,毕竟线性模型作用有限,我们有理由相信大多数 分布都不是线性可分的。 我们有两种基本思路: 改变模型,构造出一个非线性的模型,让模型有足够的复杂度将数据分开。 改变数据,将数据从线性不可分的形式转换为线性可分的形式。 当年,马文明斯基一本《感知机》差点把联结主义写死了,就是因为线性不可分的问题。而前人们也想到了这两种解决方法。 我们的核技巧就是根据第二种来的。 给出了一种方法,即将他们投影到三维空间中,这样就实现了将线性不可分转变为线性可分。 问题是,这个映射关系怎么找呢?映射后对应的特征空间应该是几维比较合适呢? 好在前辈们发现可以不显式的写出这个函数 。 这里的就是核函数了。使用核函数代替具体的的方法,也就被成为核技巧。 值得一提的是,核技巧之所以被称为“技巧”,是因为选择合适的核函数某种意义上只一个绝活,往往要看工程师的经验。 还有就是,为什么我们这里只需要内积呢?要知道核技巧正是因为假设了我们只需要内积才有效的较少了模型的复杂度,减小了我们的工作量。 Kernel Fisher Discriminant Analysis和Linear Discriminant Analysis大致相同,都是打算用超平面将数据投影在上面然后用投影分类。 Kernel Fisher Discriminant Analysis使用了核技巧,让原本不能线性可分的数据转变为线性可分了。注意这个核技巧没有体现在超平面上,而是体现在数据上。

数据说明与评估准则

数据说明

使用的数据集是在12个月期间从运营商呼叫中心的数据库中随机收集的。

该数据集包含了3150个客户的数据,有呼叫失败次数、投诉次数、订阅长度、收费金额、使用秒数、使用频率、短信频率、不同呼叫次数、年龄组、服务类型、状态和流失一共11个特征变量加上一个类变量。显然其中流失是我们最感兴趣的一个变量,也是我们希望能够成功预测的变量。

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


视频

从决策树到随机森林:R语言信用卡违约分析信贷数据实例

探索见解

去bilibili观看

探索更多视频


视频

决策树模型原理和R语言预测心脏病实例

探索见解

去bilibili观看

探索更多视频


视频

支持向量机SVM、支持向量回归SVR和R语言网格搜索超参数优化实例

探索见解

去bilibili观看

探索更多视频

评估准则

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

image.png

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

image.png

本文采用的是F-Score。

实证分析

决策树与随机森林

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

image.png
image.png

 

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

支持向量机

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


图片

Python中用PyTorch机器学习神经网络分类预测银行客户流失模型

阅读文章


image.png

核Fisher判别方法

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


随时关注您喜欢的主题


image.png
下载.png

总结与展望

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

关于分析师

image.png

Jiaojiao Zhao

在此对Jiaojiao Zhao对本文所作的贡献表示诚挚感谢,她专注机器学习、数据挖掘领域。擅长R语言、SPSS。


每日分享最新报告和数据资料至会员群

关于会员群

  • 会员群主要以数据研究、报告分享、数据工具讨论为主;
  • 加入后免费阅读、下载相关数据内容,并同步海内外优质数据文档;
  • 老用户可九折续费。
  • 提供报告PDF代找服务

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds