如何从scikit-learn DecisionTreeClassifier获取信息?

Jag*_*gat 12 python classification machine-learning scikit-learn

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

Pet*_*fer 8

您只能访问已用作拆分节点的功能的信息增益(或基尼杂质).该属性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_split https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_tree. PYX#L713