我注意到DecisionTreeClassifier接受参数criterion=’entropy’,这意味着它在分裂决策树时使用信息增益作为标准。我需要的是在即将分裂根节点时,每个特征在根级别的信息增益。
回答:
您只能访问已用作分裂节点的特征的信息增益(或基尼不纯度)。属性DecisionTreeClassifier.tree_.best_error[i]
保存了第i个节点在特征DecisionTreeClassifier.tree_.feature[i]
上的熵。如果您想查看到达第i个节点的所有样本的熵,请查看DecisionTreeClassifier.tree_.init_error[i]
。
如果您想访问每个特征在特定分裂节点的熵,您需要修改find_best_split
函数,参见:https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_tree.pyx#L713