如何从scikit-learn的DecisionTreeClassifier中获取信息增益?

14

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

1个回答

10
您只能访问已用作拆分节点的特征的信息增益(或基尼不纯度)。属性DecisionTreeClassifier.tree_.best_error[i]保存了第i个节点在特征DecisionTreeClassifier.tree_.feature[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上有文档。谢谢。 - tumultous_rooster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接