使用sklearn,如何找到决策树的深度?

时间:2019-02-03 01:23:29

标签: python scikit-learn decision-tree

我正在用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

1 个答案:

答案 0 :(得分:4)

访问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和其他较低级别的参数。