采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师你好,我看到很多地方提到预剪枝和后剪枝。请问这个和您课程中讲的调节超参数有什么关系呢。scikit-learn是预剪枝还是后剪枝呢?谢谢
scikit-learn 默认创建一棵决策树,不使用剪枝策略。但是 scikit-learn 中的最新版本的决策树已经支持了剪枝,使用的是后剪枝。具体靠 ccp_alpha 来调节。ccp 就是 cost complexity pruning 的简称。
关于 ccp_alpha 这个参数的定义,可以参考 sklearn DecisionTree 官方文档最后一个参数:https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html#sklearn.tree.DecisionTreeClassifier
因为是 0.22 才加如的新特性,录这个课程还没有呢,这个课程对这个参数也没有介绍。简单来说,就是数值越大,剪枝越狠。默认为 0.0,表示不剪枝。
关于这个参数的实验,sklearn 的官方文档给出了一个非常好的例子,帮助大家理解这个参数,可以参考这里:https://scikit-learn.org/stable/auto_examples/tree/plot_cost_complexity_pruning.html#sphx-glr-auto-examples-tree-plot-cost-complexity-pruning-py
加油!:)
老师,我看了一下文档中的案例,大概明白了ccp_alpha与模型的总不纯度成正比,与树的深度成反比,模型调优应该是找到合适的ccp_alpha,来平衡模型不纯度与模型的复杂度。但是不太明白ccp_alpha的物理意义是什么,老师能否解答一下?非常感谢
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.4k 19
3.4k 17
2.9k 15
1.6k 15
1.4k 14