首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R信息增益

R信息增益
EN

Data Science用户
提问于 2017-01-10 02:45:38
回答 1查看 11.4K关注 0票数 8

我发现软件包被用来计算“信息增益”,用于选择C4.5决策树中的主要属性,并尝试使用它们来计算“信息增益”。

但是每个包的计算结果是不同的,如下代码所示。

代码语言:javascript
复制
> IG.CORElearn <- attrEval(In_Occu ~ In_Temp+In_Humi+In_CO2+In_Illu+In_LP+Out_Temp+Out_Humi, dataUSE1, estimator = "InfGain")
> IG.RWeka     <- InfoGainAttributeEval(In_Occu ~ In_Temp+In_Humi+In_CO2+In_Illu+In_LP+Out_Temp+Out_Humi, dataUSE1)
> IG.FSelector <- information.gain(In_Occu ~ In_Temp+In_Humi+In_CO2+In_Illu+In_LP+Out_Temp+Out_Humi,dataUSE1)

> IG.CORElearn
   In_Temp    In_Humi     In_CO2    In_Illu      In_LP   Out_Temp   Out_Humi 
0.04472928 0.02705100 0.09305418 0.35064927 0.44299167 0.01832216 0.05551973 
> IG.RWeka
   In_Temp    In_Humi     In_CO2    In_Illu      In_LP   Out_Temp   Out_Humi 
0.11964771 0.04340197 0.12266724 0.38963327 0.44299167 0.03831816 0.07705798 
> IG.FSelector
         attr_importance
In_Temp       0.08293347
In_Humi       0.02919697
In_CO2        0.08411316
In_Illu       0.27007321
In_LP         0.30705843
Out_Temp      0.02656012
Out_Humi      0.05341252

为什么每个包的计算结果是不同的?哪一个是对的?

EN

回答 1

Data Science用户

发布于 2017-09-27 11:48:31

在G5W的答复https://datascience.stackexchange.com/a/16249/29575](https://datascience.stackexchange.com/a/16249/29575])中添加FSelector (可能还有其他实现),在计算分数之前对特性进行离散化。

对于FSelector,这是在文件selector.info.gan.R中完成的。您可以使用FSelector:::discretize.all检查离散化。此步骤删除更改功能排序的范围内的信息。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/16219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档