问题标签 [information-gain]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
22 浏览

r - 如何从具有最高信息(增益)的列数据点接收?

假设我有这个数据框:

我现在想以这样一种方式拆分df1$count,以便获得信息最高的组/范围。我的想法是信息增益,但我知道 IG 是用于属性,而不是列。如果您绘制数据,您可以区分高涨和减少......所以我的目标是始终找到这些包含高信息增益的显着增加/减少。

关于我如何做到这一点的任何想法?

0 投票
0 回答
75 浏览

decision-tree - 在 Azure 机器学习工作室中可视化决策丛林

我已经在 Azure 机器学习上训练了一个决策丛林模型,现在我想可视化这些树,看看我是否可以识别出在决策中最具决定性的根节点。

当我右键单击并单击训练模型上的可视化时,显示的是用于训练的参数集。我如何才能可视化丛林,或从中识别出信息增益最高的特征?

提前致谢!

0 投票
1 回答
7871 浏览

python - XGBoost 中的特征重要性“增益”

我想了解 xgboost 中的特征重要性是如何通过“增益”计算的。来自https://towardsdatascience.com/be-careful-when-interpreting-your-features-importance-in-xgboost-6e16132588e7

“增益”是特征对其所在分支的准确性的改进。这个想法是,在将特征 X 上的新拆分添加到分支之前,有一些错误分类的元素,在此特征上添加拆分后,有两个新分支,每个分支都更准确(一个分支说如果你的观察是在这个分支上,那么它应该被归类为 1,而另一个分支则完全相反)。

在 scikit-learn 中,特征重要性是通过使用变量拆分后每个节点的 gini 杂质/信息增益减少来计算的,即节点的加权杂质平均值 - 左子节点的加权杂质平均值 - 右子节点的加权杂质平均值(见也:https ://stats.stackexchange.com/questions/162162/relative-variable-importance-for-boosting )

我想知道 xgboost 是否也使用上述引用中所述的信息增益或准确性的方法。我试图挖掘xgboost的代码并发现了这种方法(已经切断了不相关的部分):

所以“增益”是从每个助推器的转储文件中提取的,但它是如何实际测量的?

0 投票
1 回答
302 浏览

text-classification - 如何使用 TF-IDF 并结合 Information Gain 进行文本分类中的特征选择?

我不知道如何组合 TF-IDF 结果并将其用于数学信息增益的概念。有人可以帮我解释一下吗?

0 投票
0 回答
647 浏览

python - 计算熵和信息增益python

我是 python 的初学者,试图在不使用任何库的情况下计算熵和信息增益。现在,计算结果比代码质量更重要。

我有数据框,想制作这样的属性计数列表

这是我的数据: 打高尔夫球数据集

0 投票
1 回答
289 浏览

python - 如果我在 XGB 模型中具有主导特征,我该怎么办?

我最近在我的数据集中遇到了一个“奇怪”的观察结果。在使用 20 个特征进行 XGB 建模后,我绘制了增益值最高的前 10 个特征。结果如下所示:

如您所见,与所有其他功能相比, F1在增益方面占主导地位(增益比 F2 高 12 倍)。我在测试集上验证了结果,模型没有过度拟合,并且给出了不错的结果(与我的品质因数相比):

基于这些结果,是否可以得出 F1 特征足以构建模型的结论?

为了证明这一点,我使用相同的参数重新运行建模,但现在将 F1 作为独立功能。结果仅比以前稍差(并且没有过度拟合):

在这两种情况下,我的 XGB 参数都非常简单:

在我排除特征 F1 并重新拟合模型后,我得到了类似的验证指标(稍微差一点),但在这种情况下,特征 F3 变得“占主导地位”,增益非常高 ~ 10000,而特征 F2 是下一个增益值 ~ 10000 .

  1. 是否有任何技术可以通过在 F1 上应用某些转换来提高其他功能并提高准确性(或 F1 分数)?
  2. 有什么方法可以均衡特征增益并改进模型?
  3. 我是否应该尝试“收集”更多与 F1 具有可比增益的功能?

谢谢!

0 投票
2 回答
200 浏览

weka - Weka中如何保存特征选择的结果?

我正在尝试在 Weka 中使用 InfoGainAttributeEval 进行特征选择,如何保存结果?我尝试保存它,但似乎我的 weka 只是保存了我的输入数据,而不是特征选择的结果。

0 投票
0 回答
307 浏览

python-3.x - 我收到错误消息“条件需要布尔数组,而不是 int64”。有人可以帮我解决这个问题吗?

我有一个 .csv 格式的数据集。它有 136 列和 15036 行。我想计算数据集每一列的熵和信息增益。这是我的代码:

但是,我收到错误消息:

谢谢

0 投票
1 回答
26 浏览

r - 在 R 中,如何对不平衡的 2 类数据进行特征选择的平衡 10 倍 CV 信息增益测试?

我有一个大型训练数据集data.trn,包含 50 多个变量的 260,000 多个观察值,因变量loan_status由 2 个类组成,"paid off"各自"default"的不平衡约为5:1. 我想使用包中的information.gain命令FSelector将功能减少到最有意义的程度。但是,我担心这种保留的过滤方法会偏向多数类,从而导致对特征的误导性评估。为了避免这种情况,我想出了一种形式sapply基于程序可以通过在 10 个不同的平衡交叉验证折叠上提取几个信息增益测试的平均值来缓解这个问题。我想象可以通过每次获取所有少数类的观察结果并与来自多数类的不同等量观察结果配对来构建折叠。但是,问题是,我是 R 的初学者,所以我不太擅长自己创建这样的结构,所以我想这里有人可以告诉我如何做到这一点,因为我仍然无法理解任务。到目前为止,我只进行了基本信息增益测试,不知道如何制作所需的平衡 CV 版本:

info_gain <- FSelector::information.gain(loan_status ~ ., data.trn)

0 投票
1 回答
64 浏览

entropy - 这个中间变量是否有任何信息增益?

假设我有 2 个变量:(A作为输入)和C(作为输出)
所以它A -> C
还有另一个变量B,并且现有模型
corr(A, B) > corr(A, C)
corr(C, B) > corr(A, C)

A -> B -> C获得更好的性能吗?
换句话说,这B有什么信息增益吗?