我正在用sklearn训练决策树。当我使用时:

dt_clf = tree.DecisionTreeClassifier()


max_depth参数默认为None。根据文档,如果max_depthNone,则将节点展开,直到所有叶子都是纯净的,或者直到所有叶子包含的样本少于min_samples_split

拟合模型后,如何找出max_depth实际是什么? get_params()功能无济于事。拟合后,get_params()仍显示None

如何获得max_depth的实际数字?

文件:https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html

最佳答案

访问基础max_depth对象的Tree

from sklearn import tree
X = [[0, 0], [1, 1]]
Y = [0, 1]
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, Y)
print(clf.tree_.max_depth)
>>> 1


您可以使用以下方法从基础树对象获取更多可访问的属性:

help(clf.tree_)


其中包括max_depthnode_count和其他较低级别的参数。

关于python - 使用sklearn,如何找到决策树的深度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54499114/

10-12 16:43