我正在用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
答案 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_depth
,node_count
和其他较低级别的参数。