剪枝是什么意思

  统计/机器学习 监督式学习    浏览次数:9365        分享
4

经常在决策树或者类似的模型里看到“剪枝”这个词。这个词在机器学习里到底是什么意思?

 

bigbear   2017-03-13 22:23



   1个回答 
8

剪枝(prune)是一种防止决策树模型过拟合(over-fitting)的一种手段。顾名思义,剪枝就是删去决策树中的一些树枝、树杈。


剪枝又分为两类,一个是预剪枝(pre-pruning)另一个是后剪枝(post-pruning)。


预剪枝就是在构建决策树的时候进行剪枝。通常决策树会不断生长,直到该树枝无法变得更纯(对于ID3决策树来说,就是无法使得熵更小)。我们可以通过设定一个阈值使得决策树提前终止生长。比如设定最小分叉样本数(sklearn RandomForest中的min_samples_split),当该树杈上的样本小于所设定的min_sample_splt,树就不再继续生长。


后剪枝就是在决策树在完全生长完之后,再剪去一些树枝、枝叶。方法也是类似的,我们先设定一个阈值。将某节点与其父节点合并,熵必然会增加,如果这个增加值小于这个阈值,我们最终就保留这个合并。这个过程由树叶逐渐向根部进行。


SofaSofa数据科学社区DS面试题库 DS面经

可爱多   2017-04-18 12:13



  相关讨论

随机森林预测问题

Adaboost里的树有没有可能权重是负数?

Gradient tree boosting和random forest (随机森林) 有什么区别和联系

决策树可以做多元分类吗?

随机森林是如何计算测试样本的概率的?

决策树算法ID3,C4.5和CART的特点、异同?

决策树剪枝有什么策略或者注意事项?

决策树的深度和数据特征个数的关系

lightgbm使用自定义损失函数后,二分类的预测结果不再是【0,1】区间

关于knn算法中kd树的问题

  随便看看

条件概率证明P(a,b|c) > P(a,b)

怎么对pandas dataframe的列求众数

Resnet-18, Resnet-50, Resnet-101这些模型里的数字是什么意思?

cvr和ctr的区别是什么?

怎么利用permutation importance来解释xgboost模型的特征?