14

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

4

1 回答 1

9

您只能访问已用作拆分节点的特征的信息增益(或基尼杂质)。该属性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

于 2013-05-07T05:24:09.097 回答