6

Jiawei Han 的数据挖掘书第 2 版(属性选择测量 - pp 297 到 300)解释了如何计算每个属性(年龄、收入、信用等级)和类别(buys_computer 是或否)实现的信息增益。在这个例子中,每个属性值都是离散的,例如年龄可以是青年/中年/高级,收入可以是高/低/中,信用评级一般/优秀等。

我想知道如何将相同的信息增益应用于采用非离散数据的属性。例如,收入属性采用任何货币金额,如 100.68、120.90 等。如果有 1000 名学生,则可能有 1000 个不同的金额值。

我们如何在非离散数据上应用相同的信息增益?任何教程/示例示例/视频网址都会有很大帮助。

4

2 回答 2

8

当您的目标变量是离散的(分类的)时,您只需计算您正在考虑的左/右拆分中类别的经验分布的熵,并将它们的加权平均值与没有拆分的熵进行比较。

对于像收入这样的连续目标变量,这类似地定义为微分熵。出于您的目的,您会假设集合中的值具有正态分布,并相应地计算微分熵。来自维基百科:

在此处输入图像描述

那就是它只是值方差的函数。请注意,这是在 nats 中,而不是在熵中。要与上面的香农熵进行比较,您必须进行转换,这只是一个乘法。

于 2013-10-05T10:47:26.680 回答
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 - 讲座中讨论的原始论文。

请注意,对于信息增益,您还可以使用高斯熵。它基本上将高斯拟合到拆分前后的数据。

于 2013-10-05T10:05:10.907 回答