基于决策树模型分析不同人群对于金寨电商模式的认可程度
1.模型的准备
决策树算法是一种用于归纳分类的算法,它通过对训练集的学习,挖掘有用的规则,用于对新集进行预测。决策树是一种用于对实例进行分类的树形结构。决策树由节点(node)和有向边(directed edge)组成。节点的类型有两种:内部节点和叶子节点。其中,内部节点表示一个特征或属性的测试条件(用于分开具有不同特性的记录),叶子节点表示一个分类。决策树构建的原理是通过对各个属性的不断划分使得决策树的分支节点所包含的样本尽量属于同一类别,即节点的纯度越来越高,而决策树构建的关键在于纯度的度量。CART分类树算法使用基尼系数代表模型的纯度,基尼系数越小,则不纯度越低,特征越好。
分类树中,假设某个样本空间有k类,对于生成好的一颗决策树的某叶子节点,假定该叶结点含有样本数目为m,可以分别统计该叶子节点下每个分类的频数 。每个类别的概率 ,于是这个叶子节点的信息熵就是 。信息熵越小,系统的区分度越明显。所以最终对于一棵分类树的评价可以用下面的公式来评判( 叶子节点的权重,可以更具样本数目来决定): 。对于不同的算法,并不完全都是用信息熵,也可以采用基尼系数来代替信息熵。具体的,假设一K类样本占全部样本的比值为 ,则D的基尼系数计算公式如下: 。
2.模型的建立
以问卷搜集到的信息中的个人情况中的性别信息、职业信息、年龄段,以及被调查者对于金寨电商模式的认可程度和对金寨电商模式的发展前景的看法的文本为分析对象,在构建决策树时,我们选取1158个人的信息作为训练集,290人作为测试集。最后通过测试集测试模型训练的准确率可以达到84.5666%。下图为所构建决策树的整体分析情况,Python运行代码见附件。
其中,为防止过拟合现象,需要对决策树进行剪枝,即预剪枝和后剪枝。预剪枝:树还没完全分裂的时候,设定好阈值,阻止其分裂。后剪枝:当树完全分裂之后,开始进行剪枝:由完全树 开始,剪枝部分结点(叶子节点,或者子节点)得到 ,再次剪枝部分结点得到 …,直到剩下树根的树(就是根节点) ;在验证数据集上对这k个树分别评价,选择损失函数最小的树 。
采用CART代价复杂度剪枝方法(CCP):
1、决策好一颗树,除去叶子节点后有 ;
2、计算每个子节点剪枝后的表面误差率增益
其中, ,loss(t)是剪枝后的损失函数,loss(T)是剪枝前的损失函数,leaf(T)是剪枝前T节点下面的叶子节点数。
3、 ,剪枝最小的节点 。
http://www.dxsbao.com/shijian/547992.html 点此复制本页地址