【问题标题】:Using sklearn, how do I find depth of a decision tree?使用 sklearn,我如何找到决策树的深度?
【发布时间】:2019-06-27 04:31:29
【问题描述】:

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

【问题讨论】:

    标签: python scikit-learn decision-tree


    【解决方案1】:

    访问底层Tree对象的max_depth

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

    【讨论】:

    • 很好的答案!喜欢它。
    【解决方案2】:

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    猜你喜欢
    • 2023-04-08
    • 2017-10-05
    • 2017-03-07
    • 2018-09-21
    • 2016-10-18
    • 2019-03-10
    • 2014-12-23
    • 2017-01-21
    • 2020-07-26
    相关资源
    最近更新 更多