C/C++教程

2.决策树算法-cart剪枝

本文主要是介绍2.决策树算法-cart剪枝,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1 为什么要剪枝

 

 

•横轴表示在决策树创建过程中树的结点总数,纵轴表示决策树的预测精度。

•实线显示的是决策树在训练集上的精度,虚线显示的则是在一个独立的测试集上测量出来的精度。

•随着树的增长,在训练样集上的精度是单调上升的, 然而在独立的测试样例上测出的精度先上升后下降。

出现这种情况的原因:

•原因1:噪声、样本冲突,即错误的样本数据。

•原因2:特征即属性不能完全作为分类标准。

•原因3:巧合的规律性,数据量不够大。

2 常用的减枝方法

2.1 预剪枝

(1)每一个结点所包含的最小样本数目,例如10,则该结点总样本数小于10时,则不再分;

(2)指定树的高度或者深度,例如树的最大深度为4;

(3)指定结点的熵小于某个值,不再划分。随着树的增长, 在训练样集上的精度是单调上升的, 然而在独立的测试样例上测出的精度先上升后下降。

2.2 后剪枝:

后剪枝,在已生成过拟合决策树上进行剪枝,可以得到简化版的剪枝决策树。

 

这篇关于2.决策树算法-cart剪枝的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!