Jiawei Han关于数据挖掘第2版的书(属性选择测量 - 第297至300页)解释了如何计算每个属性(年龄,收入,信用评级)和类(buys_computer是或否)实现的信息增益。 在这个例子中,每个属性值都是离散的,例如,年龄可以是青年/中年/高级,收入可以是高/低/中等,信用公平/优秀等。
我想知道如何将相同的信息增益应用于采用非离散数据的属性。对于例如收入属性采用任何货币金额,如100.68,120.90等。 如果有1000名学生,则可能有1000个不同的金额值。
我们如何将相同的信息增益应用于非离散数据?任何教程/示例示例/视频网址都会有很大的帮助。
答案 0 :(得分:8)
当您的目标变量是离散的(分类)时,您只需计算您正在考虑的左/右分裂中的类别的经验分布的熵,并将它们的加权平均值与熵进行比较而不进行分割。
对于连续目标变量(如收入),其定义类似于differential entropy。出于您的目的,您可以假设集合中的值具有正态分布,并相应地计算差分熵。来自维基百科:
这只是价值方差的函数。请注意,这是在nats中,而不是熵。要比较上面的香农熵,你必须转换,这只是一个乘法。
答案 1 :(得分:6)
对连续变量(1d)进行拆分的最常见方法是选择一个阈值(来自离散的阈值集,或者您可以选择先验)。因此,您可以通过首先对其进行排序(您必须拥有订单)然后扫描它以获得最佳值来计算连续值的信息增益。 http://dilekylmzr.files.wordpress.com/2011/09/data-mining_lecture9.ppt
在随机森林中使用此技术的示例
这种技术通常用于随机森林(或决策树)中,因此我会在此基础上发布少量资源参考。
有关随机森林和此技术的更多信息,请访问:http://www.cs.ubc.ca/~nando/540-2013/lectures.html。请参阅youtube上的讲座,因为幻灯片的信息量不大。在讲座中,它描述了如何使用Kinect中的随机森林来匹配身体部位,因此它非常有趣。 你也可以在这里查看:https://research.microsoft.com/pubs/145347/bodypartrecognition.pdf - 讲座中讨论的原始论文。
请注意,对于信息增益,您还可以使用高斯熵。在分裂之前和之后,它基本上适合高斯数据。