现在很多业务场景我们会使用excel进行数据分析,数据量大的时候使用python,但是今天使用一款很小却很实用的软件SPSS Modeler进行我们客户流失的预测。
目录
1.分析问题
2.介绍数据
3.建模做出分析报告
1.分析问题
我们想知道电信用户流失的原因,换句话说,也就是找出影响用户流失的因素。找出客户流失的因素,这其实属于一个数据挖掘(Data Mining)的问题,就是仅仅从数据中挖掘出一点有趣的东西出来,不涉及之后的模型预测问题,如果涉及到模型的预测,我觉得应该归属到机器学习(machine learning)的领域。
2.介绍数据
巧妇难为无米之炊,没人可以脱离数据去做数据分析。那我们来看我们的数据是什么样子。我们数据是SAV格式,一般的编辑器无法打开,只能用特定的软件,在一定程度上保证了安全性和可靠性。
数据量为1000,有15个字段。截图如下:
我们可以看到数据已经被预处理过,也就是很多分类型变量被直接变成了数值,比如居住地,婚姻状况,教育水平,我们把这些字符用数字代替,来方便计算机进行计算。
3.建模做出分析报告
我们先来看一下特征选择的部分,就是我们是要把所有的数据都使用呢,还是只使用一部分。使用一部分数据的好处,主要在于省空间,省内存;二是避免过拟合的情况,数据维度越多,模型越容易学到不相干的信息,会导致过拟合。
我们看看SPSS对于这段数据的特征选择情况。
它会傻瓜式地告诉你如何挑选变量进入到你的模型中。SPSS默认采用的是pearson相关系数去计算两个变量的相关程度。
公式定义为:两个连续变量(X,Y)的pearson相关性系数P(x,y)等于它们之间的协方差cov(X,Y)除以它们各自标准差的乘积(σX,σY)。系数的取值总是在-1.0到1.0之间,接近0的变量被成为无相关性,接近1或者-1被称为具有强相关性。
看过了公式,我们开始创建测试集和训练集,之后采用CART树建模,数据流如下:
SPSS生成的报告是这样。
可以看到变量的重要性。开通月数最重要,套餐类型其次。
我们的结论也可以得出:
结论:
1、老客户入网时间长,对企业忠诚
2、新客户,申请附加套餐业务,保有率高
3、新客户申请其他套餐业务,保持性不好
4、更应关注费用,在改善服务类型上下功夫
这样,一个简单的建模就完成了,我们也可以用python的sklearn模块完成一模一样的功能。