我正在尝试理解如何正确使用R包FSelector,特别是它的information.gain函数。According to the documentation
information gain = H(class) + H(attribute) - H(class,attribute)这些量意味着什么?以及它们与信息增益的标准定义有何关系。据我所知,来自attribute = H(S) - sum p(S_i)H(S_i)的信息增益,其中H(.)是熵;S是未划分的集合;S_i是由属性诱导的S的子集;以及p(S_i) = |S_i|/|S|。
我还想知道是否有其他使用信息增益概念的软件包。
谢谢你的帮助。
发布于 2014-03-19 04:29:21
FSelector及其函数背后的思想是选择在数据集中找到的最佳属性组合。也许,有些属性是不必要的(也许),这取决于您正在处理的数据集。
information.gain是一个根据“信息增益”选择最佳属性组合的函数。这个函数是基于熵的(你可以读到很多关于熵的文档)。
下面是一个使用著名的IRIS数据集的示例(请参阅http://rgm3.lab.nig.ac.jp/RGM/R_rdfile?f=FSelector/man/information.gain.Rd&d=R_CC的完整示例):
library(FSelector)
data(iris)
weights <- information.gain(Species~., iris)
print(weights)
subset <- cutoff.k(weights, 2)
f <- as.simple.formula(subset, "Species")
print(f)这意味着最重要的属性是Petal.Width和Petal.Length
有很多使用类似函数的库!(RWeka,CORElearn,FSelector...)
https://stackoverflow.com/questions/22488560
复制相似问题