当前位置:   article > 正文

python 决策树_使用python+sklearn实现决策树的剪枝

sklearn库后剪枝代码

DecisionTreeClassifier提供诸如min_samples_leaf 和max_depth 这样的参数,来防止树过拟合。代价复杂度剪枝提供了另一种选择来控制树的大小。在DecisionTreeClassifier中,该剪枝技术由代价复杂度参数ccp_alpha进行参数化,较大的ccp_alpha值会增加剪枝的节点数量。在这里,我们仅显示ccp_alpha对规则化树的影响,以及如何根据验证分数(validation scores)来选择ccp_alpha

另请参见最小代价复杂度剪枝,以了解有关剪枝的详细信息。

print(__doc__)import matplotlib.pyplot as pltfrom sklearn.model_selection import train_test_splitfrom sklearn.datasets import load_breast_cancerfrom sklearn.tree import DecisionTreeClassifier

剪枝树叶子的总杂质与有效 alphas 的关系

最小代价复杂度剪枝递归地找到具有“最弱连接”的节点。最弱连接具有有效 alpha,其中具有最小有效 alpha 的节点首先被剪枝。为了了解ccp_alpha 何值合适,scikit-learn提供了DecisionTreeClassifier.cost_complexity_pruning_path,它返回修剪过程中每个步骤的有效 alphas 和相应叶子的总杂质。随着 alpha 增大,更多的 tree 被剪枝,增加了其叶子的总杂质。

X, y = load_breast_cancer(return_X_y=True)X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/331047
推荐阅读
相关标签
  

闽ICP备14008679号