我正在用sklearn训练决策树。当我使用时:
dt_clf = tree.DecisionTreeClassifier()
max_depth
参数默认为None
。根据文档,如果max_depth
是None
,则将节点展开,直到所有叶子都是纯净的,或者直到所有叶子包含的样本少于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_depth
,node_count
和其他较低级别的参数。关于python - 使用sklearn,如何找到决策树的深度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54499114/