`

决策树。weka。信息增益

 
阅读更多

首先举出打网球的例子。

 

Day

Outlook

Temperature

Humidity

Wind

Play Tennis

1

sunny

hot

high

weak

no

2

sunny

hot

high

strong

no

3

overcast

hot

high

weak

yes

4

rain

mild

high

weak

yes

5

rain

cool

normal

weak

yes

6

rain

cool

normal

strong

no

7

overcast

cool

normal

strong

yes

8

sunny

mild

high

weak

no

9

sunny

cool

normal

weak

yes

10

rain

mild

normal

weak

yes

11

sunny

mild

normal

strong

yes

12

overcast

mild

high

strong

yes

13

overcast

hot

normal

weak

yes

14

rain

mild

high

strong

no

 

         数据集中包含14个样本,其中9个正样本(yes),5个负样本(no)。则这些元组的期望信息(即熵)为:

 

Info(D) = - 9/14 * log2(9/14) - 5/14 * log2(5/14) = 0.940

 

         现在观察每个属性的期望信息需求。在属性Outlook中,对于sunny,正样本数为2,负样本数为3;对于overcast,正样本数为4,负样本数为0;对与rain,正样本数为3,负样本数为2

按照Outlook划分样例得到的期望信息为:

 

5/14 * ( - 2/5log22/5 – 3/5log23/5) + 4/15 * ( - 4/4log24/4) + 5/14 * ( - 3/5log23/5 – 2/5log22/5)=0.694

 

         即其信息增益为:

 

Gain(outlook) = 0.940 – 0.694 = 0.246

 

         Gain(Temperature) = 0.029

         Gain(Humidity) = 0.151

         Gain(Wind) = 0.048

 



 

 

 

         继续信息增益的计算,最终得到如下的决策树:

 

 

        

 

sunny,mild,normal,FALSE作为测试集,使用决策树,得出其结论为yes

  • 大小: 64.2 KB
分享到:
评论
3 楼 zjlinkpro 2011-04-24  
没事!对这个问题,现在我已经有了基本的实现!
同时还要说声谢谢!
2 楼 summerbell 2011-04-15  
zjlinkpro 写道
仁兄这篇文章写得不错,让我对信息增益的过程有了个大致的了解;由于我在这方面还是个新手,能不能提供相应的实现方法,谢谢!

抱歉,实在太久了,已经没弄这个了~
1 楼 zjlinkpro 2011-04-14  
仁兄这篇文章写得不错,让我对信息增益的过程有了个大致的了解;由于我在这方面还是个新手,能不能提供相应的实现方法,谢谢!

相关推荐

    DecisionTree决策树数据挖掘算法的实现(Java)

    ID3算法是最早的决策树构建算法,它以信息增益作为选择特征的标准。C4.5是ID3的改进版,解决了ID3对连续属性处理不足的问题,引入了信息增益率来避免选择分箱后导致的过拟合。C4.5还允许处理缺失值,增加了树的泛化...

    用决策树归纳分类算法

    在本话题中,我们将深入探讨如何使用决策树进行归纳分类算法,以及与之相关的Java实现和信息增益度量。 决策树是一种直观的模型,它通过一系列问题(即特征或属性)来划分数据,最终形成一个树状结构。在每个内部...

    java 决策树Demo2

    - **分裂标准**:决策树通过比较特征的分裂信息增益或基尼不纯度来选择最优特征进行划分。 - **信息熵与基尼不纯度**:衡量数据集纯度的指标,信息熵用于信息论,基尼不纯度用于决策树构建。 2. **ID3算法** - ...

    决策树java

    在Java中实现决策树,我们首先需要导入必要的库,如`weka.core.Instances`用于处理数据,`weka.classifiers.trees.J48`或`weka.classifiers.rules.JRip`等类用于构建决策树模型。以下是基本步骤: 1. **数据预处理*...

    java 决策树Demo1

    决策树是一种常用的人工智能和机器学习算法,用于分类和回归任务。...通过理解决策树的工作原理,选择合适的算法库(如Weka),并掌握训练、评估和优化模型的方法,开发者可以有效地运用决策树解决分类和回归问题。

    决策树Java实现

    在Java中实现决策树,我们可以选择自定义算法,如ID3(Iterative Dichotomiser 3),或者使用现有的机器学习库,如Weka、Deeplearning4j等。本篇文章将深入探讨ID3算法以及如何在Java中实现它。 ID3算法是基于信息...

    决策树算法在Weka平台上的数据挖掘应用.pdf

    ID3(Iterative Dichotomiser 3)是决策树算法中较早出现的一种,它以信息增益为标准选择最佳分裂属性,但ID3算法仅适用于离散属性的数据集,不能很好地处理连续属性和噪声数据,其主要缺点在于对具有缺失值的数据集...

    基于Weka平台的决策树J48算法实验研究.pdf

    本文主要围绕基于Weka平台的J48决策树算法进行实验研究,并与其他常见决策树算法进行比较。 首先,J48算法是在ID3算法基础上的改进。ID3算法以信息熵为基础,选择最优属性来划分数据集,但其对连续属性处理能力有限...

    weka J48 demo代码

    J48主要通过信息增益或信息增益比来选择最佳特征,以构建决策树。信息增益是衡量一个特征能够帮助我们减少不确定性的程度,而信息增益比则是在信息增益的基础上考虑了特征的划分代价。 **二、决策树的基本原理** ...

    数据挖掘weka使用C4.5实验报告

    本实验报告聚焦于使用Weka工具,结合C4.5算法,对UCI数据集进行分类学习,探究数据集规模和属性数量对决策树分类准确度的影响。 决策树是一种常用的数据挖掘方法,它以树状结构呈现,自顶向下递归地根据属性值进行...

    see5.0决策树分析算法

    4. **构建决策树**:运行See5.0,软件会根据信息增益率自动选择特征并构建决策树模型。 5. **模型评估**:使用交叉验证、混淆矩阵等方法评估模型的准确性和泛化能力。 6. **模型优化**:根据评估结果,可能需要调整...

    机器学习 决策树算法(ID3)java实现

    在`ID3.java`文件中,开发者可能实现了ID3算法的类,包括读取数据(可能从`app.arff`文件中,这是一个常见的数据格式,用于存储WEKA等机器学习库的数据),计算信息熵、信息增益,以及构建和遍历决策树的逻辑。...

    ID3决策树c++

    - 可以使用第三方库如`Shark`或`Weka`的C++接口来实现决策树,但这些库可能包含更复杂的算法和功能,不一定适合初学者。 - 自行编写ID3算法可以更好地理解其工作原理,同时也能锻炼编程能力。 9. **文件`...

    java数据挖掘C4.5决策树的动态生成

    - 信息增益率:相比于ID3使用信息增益,C4.5引入信息增益率,降低了连续属性划分的偏好,提高了决策树的稳定性。 4. Java实现C4.5: 在Java环境中,可以使用Weka(Waikato Environment for Knowledge Analysis)...

    基于java语言实现ID3决策树,读取ARFF文件生成树状决策树

    首先,ID3(Iterative Dichotomiser 3)算法是最早的基于信息熵和信息增益的决策树构建方法。它的基本思想是选择能够最大程度地减少数据集不确定性(即最大信息增益)的属性作为当前节点的分裂标准。以下是ID3算法的...

    用java做的决策树哦!感觉还不错!

    - **ID3算法**:最原始的决策树算法之一,基于信息熵和信息增益来选择最优属性。 - **C4.5算法**:ID3的改进版,处理连续属性和缺失值的能力更强,采用信息增益率避免过早选择划分属性。 - **CART算法**:用于...

    分类决策树近邻算法JAVA实现.rar_java决策树算法_tearsyeq_分类决策树近邻算法Java

    在Java中,实现ID3涉及计算信息熵、信息增益以及递归地构建决策树。 在Java编程中,实现这些决策树算法通常涉及以下步骤: - 数据预处理:清洗数据,处理缺失值,将类别变量编码为数值。 - 特征选择:根据算法特定...

    决策树分类ID3算法JAVA语言实现

    总之,决策树ID3算法是一种基于信息熵和信息增益的分类方法,它在Java编程中可以通过遍历特征、计算信息增益来构建决策树。理解其工作原理和优化策略,对于解决实际分类问题具有重要的指导意义。

    JAVA-决策树

    ID3是最早流行的决策树算法,由Ross Quinlan开发,它基于信息熵和信息增益来选择最佳属性进行划分。然而,ID3存在对连续数值处理不足和容易过拟合的问题。C4.5是ID3的升级版,解决了这些问题,通过引入信息增益比来...

Global site tag (gtag.js) - Google Analytics