在之前的文章《Bagging 或Boosting让你的模型更加优化》中,我们介绍了可以通过Bagging或Boosting技术,使得模型更加稳定和准确率更高,那么今天要介绍的随机森林算法,本身的算法逻辑已经使用了Bagging技术,来构建多棵树,最终实现构建“森林”的目的。
首先我们先来了解下这个算法,记住几个要点就可以:
1.在IBM SPSS Modeler中,随机森林构建的每棵树,使用的算法是C&RT,关于C&RT算法的介绍可以参考之前的文章《IBM SPSS Modeler算法系列------C&R Tree算法介绍》;
2.使用Bagging,每构建一棵树,都是通过随机选择样本数据来构建(有放回的);
3.除了使用Bagging技术,对使用的输入指标,也随机选择。比如说一共有20个输入指标,每选完一次样本数据后,会再随机选择其中的10个指标来构建树。
4.最终的预测结果,会综合前面构建的决策树通过投票的方式得到最终的预测结果,如果是数值型的预测,则是取平均值做为最终的预测结果。
5.在IBM SPSS Modeler中,随机森林算法不仅支持传统的关系型数据库,比如DB2、Oracle、SQL Server等通过ODBC可连接的数据库,也支持Haoop分布式架构的数据,它可以生成MapReduce或者Spark,放到Hadoop平台上去执行,从而提升整个计算效率。
那么接下来,我们来看下在IBM SPSS Modeler的随机森林算法实现客户的流失预测,能给我们呈现出什么样的结果。
首先,我们创建数据流文件 ,如下图:
![spss](https://i-blog.csdnimg.cn/blog_migrate/40aa9897d98e73161773fede86bfe663.jpeg)
Step1:连接数据源Excel文件,文件内容如下:
![spss](https://i-blog.csdnimg.cn/blog_migrate/8ddc1d49a668faee98989e4322d651bc.jpeg)
Step2:类型节点设置影响因素及目标,如下图:
![spss](https://i-blog.csdnimg.cn/blog_migrate/e6b405274ade2c7ed73f523143b2ecac.jpeg)
Step3:选择随机森林算法,并使用默认参数设置生成模型。
![spss](https://i-blog.csdnimg.cn/blog_migrate/0980707a17c3430db6840bab139466f5.jpeg)
该面板主要涉及到模型构建和树增长两方面的参数,包括以下内容:
- 构建的模型数量:即构建多少棵树;
- 样本大小:是每次随机选择的样本占原来的百分比,如果是1的话,代表每次选择的样本数据与原来的数据量一样,如果是0.9,则选择原来的数据量的90%作为的样本数据,在处理大数据集时,减少样本大小可以提高性能。
- 是否需要处理不平衡数据:如果模型的目标是标志结果(例如,流失或不流失) 比率很小,那么数据是不平衡数据并且模型所执行的 Bootstrap 采样可能会影响模型精确性。要提高准确性,请选中此复选框;模型随后会捕获所需结果中的更大比例部分并生成更好的模型。
- 使用加权采样选择变量: 缺省情况下,每个叶节点的变量是使用同一概率随机选择的。要将加权用于变量并改进选择过程,请选中此复选框。
- 最大节点数:指定允许各个树中存在的最大叶节点数。如果下一次分割时将超过此数字,那么树增长将在进行拆分之前停止。
- 最大树深度:指定根节点下方的最大叶节点级别数;即,样本进行递归拆分的次数。
- 最小子节点大小:指定拆分父节点之后必须包含在子节点中的最小记录数。如果子节点包含的记录数少于您输入的数目,那么不会拆分父节点。
- 指定要用于拆分的最小预测变量数:如果是构建拆分模型,请设置要用于构建每个拆分的最小预测变量数。这防止拆分创建过小的子组。
- 当准确性无法再提高时停止构建:要改进模型构建时间,请选择此选项,以在结果的准确性无法提高时停止模型构建过程。
在高级面板中,考虑到对样本数据选择的质量要求,该算法也涵盖了数据准备的内容。
![spss](https://i-blog.csdnimg.cn/blog_migrate/392e12c9cd96dd95494341017d517497.jpeg)
数据准备可设置的参数包括:
- 缺失值最大百分比指定允许任何输入中存在的缺失值的最大百分比:如果该百分比超过了此数字,那么将从模型构建中排除此输出。
- 排除单个类别多数超过以下值的字段指定单个类别可以在某个字段中具有的最大记录百分比:如果任何类别值表示的记录百分比高于指定值,那么将从模型构建中排除整个字段。
- 最大字段类别数:指定字段中可以包含的最大类别数。如果类别数超过了此数字,那么将从模型构建中排除此字段。
- 最小字段变化:如果连续字段的变异系数小于您在此处指定的值,那么将从模型构建中排除此字段。
- 分箱数:请指定要用于连续输入的均等频率分箱数。可用选项包括:2、4、5、10、20、25、50 或 100。
Step4:生成客户流失分析模型。
在生成的模型结果里面,会包括对输入指标的重要性排序,如下图:
![spss](https://i-blog.csdnimg.cn/blog_migrate/c1be737ca74d89b0fa1b1d855ebf8f63.jpeg)
模型结果中,也会包含在生成的这些树中,最频繁出现的规则集,包括决策规则内容、类别、准确性等内容。这些规则集可以协助我们做一些业务解读。
![spss](https://i-blog.csdnimg.cn/blog_migrate/1b4e6cb3b360b6121518a614bf485612.jpeg)
Step5:可以通过表格查看预测结果。
![spss](https://i-blog.csdnimg.cn/blog_migrate/3f6e02e8b6e9e95846940f08655d2af7.jpeg)
Step6:通过分析节点查看模型准确率。
![spss](https://i-blog.csdnimg.cn/blog_migrate/5897b5fc2d568cc47d70495d97851b5d.jpeg)
更多大数据与分析相关行业资讯、解决方案、案例、教程等请点击查看>>>