如何从节点中提取最佳“杂质”值即基尼系数或熵?

问题描述

我想知道如何在Scikit-Learn库中计算决策树算法的最佳基尼或熵。

我已经知道要计算基尼系数,即节点的熵信息增益。

我的重点是“如何通过成本函数或信息增益获得最佳的基尼系数或熵?”

基尼系数和熵值是节点拆分的结果。

因此,如果我想知道最小成本函数值或最高信息增益值,是否应该计算关于所有特征,样本和阈值的杂质指数?

我试图在Scikit-Learn的github中阅读splitter代码

URL: https://github.com/scikit-learn/scikit-learn/blob/18cdaa69c14a5c84ab03fce4fb5dc6cd77619e35/sklearn/tree/_splitter.pyx

我首先想到的是,他们搜索所有样本。 但是似乎有一种方法可以找到最佳标准或价值,但是我不确定。

总而言之,我有两个问题:

  1. 在Scikit-Learn决策树中计算杂质值时,它是否真的针对每个样本,特征和阈值进行了计算?
  2. 如果没有,拆分器如何不检查所有情况?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)