信息增益计算器
这个在线计算器计算信息增益,即信息熵的变化,从先前的状态到接受给定信息的状态
本内容采用知识共享署名/相同方式共享许可协议3.0(未移植)进行许可。这意味着你可以在相同的许可条件下自由地重新发布或修改本内容,并且必须在你的网站上放置一个超链接到本作品https://zh.planetcalc.com/8421/,以注明原作者。此外,请不要修改本内容中对原作的任何引用(如果有的话)。
下面的在线计算器解析训练示例集,然后计算每个属性/特征的信息增益。 如果您不确定它的全部内容,或者您想查看公式,请阅读计算器下方的说明。
注意: 培训示例应该以csv列表的形式输入,分号用作分隔符。第一行被认为是一行标签,首先是属性/特性标签,然后是类标签。其他所有行都是例子。这个计算器中的默认数据是“打网球”决策树的著名数据示例
信息增益和决策树
信息增益是一种在构建决策树时特别有用的指标。 决策树是一种类似于流程图的结构,其中每个内部节点表示一个属性的“测试”(例如一个抛硬币是否出现正面或反面),每个分支代表测试的结果,每个叶节点代表一个类标签(计算所有属性后做出的决定)。从根到叶的路径表示分类规则。1
让我们看看计算器的默认数据。
要分析的属性是:
- 前景: 周日/阴天/下雨
- 湿度: 高/正常
- 风: 真/假
- 温度: 炎热/温暖/凉爽
类标签:
-
打球: 是/否
因此,通过逐个分析属性,算法应该有效地回答这个问题:“我们应该打网球吗?”因此,为了执行尽可能少的步骤,我们需要在每个步骤上选择最好的决策属性—给我们最多信息的那个。
我们如何测量每个属性可以提供给我们的信息?其中一种方法是测量熵的减少,而 这正是 信息增益 度量所做的。
让我们回到这个例子。在我们的训练集中,我们有5个被标记为“否”的例子,9个被标记为“是”的例子。根据众所周知的香农熵公式,现在的熵为
现在,让我们想象我们要对一个例子进行分类。我们决定先测试“有风”属性。从技术上讲,我们对“有风”属性执行拆分。
如果“有风”属性的值为“真”,我们就剩下6个例子。其中3个在打球标签上写着"是"3个在打球标签上写着"否"
其熵是
因此,如果我们测试中的示例具有“真”作为“有风”属性,那么我们将比以前拥有更多的不确定性。
现在,如果“有风”属性的值是“假”,我们就剩下8个例子。其中6个在打球标签上写着“是”,2个在打球标签上写着“否”。
其熵是
当然,这比我们最初的0.94比特熵要好(如果我们足够幸运,在我们测试的例子中得到“假”)。
为了估计总的熵减少,我们需要使用概率平均得到“真”和“假”属性值。我们有6个“有风”属性值为“真”的示例,8个“有风”属性值为“假”的示例。所以拆分后的平均熵是
其中,Hwindy是有风天气的熵,True为真,False为假。
因此,我们的初始熵为0.94,分割“有风”属性后的平均熵为0.892。因此,信息增益作为熵的减少是
属性 a的信息增益的一般公式是
,
其中
- 一组训练示例,每一个的形式都是 其中 是 示例中的 属性或者 特征 值, 是相应的类标签,
— 以a为条件的 T 的熵 (条件熵)
条件熵公式是
其中
—使属性 a 等于 v的T 的训练示例集
使用这种方法,我们可以找到每个属性的信息增益,并发现“前景”属性为我们提供了最大的信息增益,0.247比特。现在我们可以得出结论,对“有风”属性的第一次拆分是一个非常糟糕的主意,并且给定的训练示例建议我们应该首先测试“前景”属性。
最后一点。 你可能想知道,如果可以为每个属性组合提供决策,为什么还需要决策树。 你当然能够,但即使对于这个小示例,组合的总数也是3*2*2*3=36。 另一方面,我们只是使用了一个组合子集(14个例子)来训练我们的算法(通过构建决策树),现在它可以在没有我们帮助的情况下分类所有其他组合。 这就是机器学习的意义所在。
类似计算器
- • 决策树构建器
- • 香农熵
- • 香农-范诺编码计算器
- • 霍夫曼编码
- • 编号清单制作器
- • 计算机 部分 ( 9 计算器 )
评论