赞
踩
DecisionTreeClassifier
提供诸如min_samples_leaf
和max_depth
这样的参数,来防止树过拟合。代价复杂度剪枝提供了另一种选择来控制树的大小。在DecisionTreeClassifier
中,该剪枝技术由代价复杂度参数ccp_alpha
进行参数化,较大的ccp_alpha
值会增加剪枝的节点数量。在这里,我们仅显示ccp_alpha
对规则化树的影响,以及如何根据验证分数(validation scores)来选择ccp_alpha
。
另请参见最小代价复杂度剪枝,以了解有关剪枝的详细信息。
print(__doc__)
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_breast_cancer
from sklearn.tree import DecisionTreeClassifier
最小代价复杂度剪枝递归地找到具有“最弱连接”的节点。最弱连接具有有效 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)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。