【问题标题】:How to obtain information gain from a scikit-learn DecisionTreeClassifier?如何从 scikit-learn DecisionTreeClassifier 获取信息增益?
【发布时间】:2013-04-29 20:40:55
【问题描述】:

我看到 DecisionTreeClassifier 接受criteria='entropy',这意味着它必须使用信息增益作为分割决策树的标准。 我需要的是每个特征在根级别的信息增益,当它即将分裂根节点时。

【问题讨论】:

    标签: python machine-learning classification scikit-learn


    【解决方案1】:

    您只能访问已用作拆分节点的特征的信息增益(或基尼杂质)。属性DecisionTreeClassifier.tree_.best_error[i] 保存特征DecisionTreeClassifier.tree_.feature[i] 上第i 个节点分裂的熵。如果您想要到达第 i 个节点的所有示例的熵,请查看 DecisionTreeClassifier.tree_.init_error[i]

    有关更多信息,请参阅此处的文档:https://github.com/scikit-learn/scikit-learn/blob/dacfd8bd5d943cb899ed8cd423aaf11b4f27c186/sklearn/tree/_tree.pyx#L64

    如果你想访问每个特征的熵(在某个分裂节点) - 你需要修改函数find_best_splithttps://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_tree.pyx#L713

    【讨论】:

    • 我没有意识到 github 上有文档。谢谢。
    猜你喜欢
    • 2018-03-26
    • 2019-05-23
    • 2016-12-07
    • 2017-10-08
    • 2012-12-30
    • 2021-01-28
    • 2010-12-27
    • 2011-07-24
    相关资源
    最近更新 更多