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

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

时间:2024-03-25 23:24:14浏览次数:27  
标签:判别 流失 客户 随机 Fisher 数据 决策树

全文链接:https://tecdat.cn/?p=35438

原文出处:拓端数据部落公众号

分析师:Jiaojiao Zhao

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

数据说明与评估准则

数据说明

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

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

评估准则

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

image.png

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

image.png

本文采用的是F-Score。

 

实证分析

决策树与随机森林

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

image.png

image.png

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

image.png

image.png

支持向量机

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

image.png

核Fisher判别方法

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

image.png

下载.png

总结与展望

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

image.png

关于分析师

image.png

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

A-better-approach-to-M-and-A-1536x1536.jpg

标签:判别,流失,客户,随机,Fisher,数据,决策树
From: https://www.cnblogs.com/tecdat/p/18095648

相关文章

  • 指针的大小判别;
    目录代码1:代码2:代码3:代码4:代码5:代码6:代码1:#include<stdio.h>intmain(){ inta[]={1,2,3,4}; printf("%d\n",sizeof(a));//16a是数组名;计算的是整个数组大小; printf("%d\n",sizeof(a+0));//4a+0是首元素地址; printf("%d\n",sizeo......
  • 决策树模型(1)总体介绍
    决策树总体介绍决策树模型顾名思义就是通过一条条的决策来将样本划分来从而达到分类或回归的目的。决策树模型呈树形结构,下图粗略展示了一个分类决策树其中圆表示特征,方块表示叶子节点也是最终分类的类别,我们通过利用样本中高价值的特征(房子拥有情况,工作的拥有情况)来构建这......
  • 机器学习——决策树(四)后剪枝
    观前提示:这是本人决策树相关的第四篇博文,前3篇的内容如下:1、建造训练集的决策树【完成结点类编写和建树过程】2、用验证集评估模型、选出泛化较好的数据划分方式训练模型3、预剪枝读者可根据需要从上方《机器学习》专栏中查阅对应文章第四章是后剪枝的内容,用到了许多前文......
  • 决策树——泰坦尼克号
    具体步骤:1、导入相关扩展包fromsklearn.model_selectionimporttrain_test_split#划分数据集fromsklearn.feature_extractionimportDictVectorizer#字典特征值提取fromsklearn.treeimportDecisionTreeClassifier#决策树fromsklearn.treeimportexpor......
  • R语言神经网络与决策树的银行顾客信用评估模型对比可视化研究
    全文链接:https://tecdat.cn/?p=35403原文出处:拓端数据部落公众号在数字化时代,顾客信用评估成为商业决策中的重要一环。无论是金融机构的信贷审批,还是电商平台的用户信用管理,都需要对顾客的信用状况进行准确评估。随着机器学习技术的不断发展,决策树和神经网络等算法在顾客信用评......
  • 决策树的学习及应用
    文章目录一、决策树是什么二、决策树的发展历史三、决策树的相关概念详解四、决策树的构建过程五、决策树的代码示例一、决策树是什么决策树是一种基本的分类与回归方法,它呈树形结构,用于表示基于特征对实例进行分类的过程。决策树可以被看作是if-then规则的集合,也......
  • 监督学习算法——决策树
    本篇承接上篇文章监督学习算法——线性模型决策树importsyssys.pathmglearn.plots.plot_animal_tree()1.构建决策树我们在下图所示的二位分类数据集上构造决策树。这个数据集由2个半月形组成,每个类别都包含50个数据点。我们将这个数据集称为two_moons。学习决策......
  • 机器学习——编程实现从零构造训练集的决策树
    自己搭建一棵决策树【长文预警】忙了一个周末就写到了“构建决策树”这一步,还没有考虑划分测试集、验证集、“缺失值、连续值”,预剪枝、后剪枝的部分,后面再补吧(挖坑)目录1、信息1)基本算法过程2)信息熵和信息增益的计算方式2、做点假设,简化运算3、拆解算法过程0)结点类1)同......
  • 自然语言处理(NLP)—— 生成式模型和判别式模型
            生成式模型和判别式模型是机器学习领域两大类模型,它们在自然语言处理、计算机视觉等领域都有广泛的应用。理解这两类模型的区别对于选择正确的模型来解决特定问题非常重要。1.生成式模型(GenerativeModels)        生成式模型旨在学习数据的联合......
  • R语言CART决策树、随机森林、chaid树预测母婴电商平台用户寿命、流失可视化
    全文链接:http://tecdat.cn/?p=31644原文出处:拓端数据部落公众号借着二胎政策的开放与家庭消费升级的东风,母婴市场迎来了生机盎然的春天,尤其是母婴电商行业,近年来发展迅猛。用户获取和流失是一对相对概念,就好比一个水池,有进口,也有出口。我们不能只关心进口的进水速率,却忽略了出水......