《实验二--分类挖掘算法(ID3).doc》由会员分享,可在线阅读,更多相关《实验二--分类挖掘算法(ID3).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date实验二-分类挖掘算法(ID3)实验二-分类挖掘算法(ID3)实验二 分类挖掘算法(ID3)一、实验目的1、理解分类2、掌握分类挖掘算法ID33、为改进ID3打下基础二、实验内容1、选定一个数据集(可以参考教学中使用的数据集)2、选择合适的实现环境和工具实现算法 ID33、给出分类规则三、实验原理决策树是一种最常见的分类算法,它包含有很多不同的变种,ID3算法是其中最简
2、单的一种。ID3算法中最主要的部分就是信息熵和信息增益的计算。信息熵的计算公式如下。信息增益的计算公式为:其中P(ui)为类别ui在样本S中出现的概率,A是样本的属性,Value(A)是属性A所有取值的集合,v是得其中一个属性值。Sv是S中A的值为v的样例集合。ID3算法的流程就是在属性集A中寻找信息增益值最大的属性,作为根节点,按照根节点属性的取值将样本集合分成几个子集,将此属性从属性集中去掉,在每个子集中选择信息增益值最大的属性,作为当前子集的根节点,上层集合的根节点的子节点,如此循环递归,如果得到的子集中所有的样本属于一个类别,则递归停止。四、实验要求1、数据集具有一定的代表性,可以使用
3、数据库技术管理2、实现界面友好3、提交实验报告:实验题目、目的、数据集描述、实验环境、过程、结果和分析等。五、 实验步骤1、所采用的数据集,如图1所示:2、具体步骤构造决策树的方法是采用自上而下的递归构造,其思路是:1)以代表训练样本的单个结点开始建树(步骤1)。2)如果样本都在同一类,则该结点成为树叶,并用该类标记(步骤2和3)。3)否则,算法使用称为信息增益的机遇熵的度量为启发信息,选择能最好地将样本分类的属性(步骤6)。该属性成为该结点的“测试”或“判定”属性(步骤7)。值得注意的是,在这类算法中,所有的属性都是分类的,即取离散值的。连续值的属性必须离散化。4)对测试属性的每个已知的值,
4、创建一个分支,并据此划分样本(步骤810)。5)算法使用同样的过程,递归地形成每个划分上的样本决策树。一旦一个属性出现在一个结点上,就不必考虑该结点的任何后代(步骤13)。6)递归划分步骤,当下列条件之一成立时停止:给定结点的所有样本属于同一类(步骤2和3)。没有剩余属性可以用来进一步划分样本(步骤4)。在此情况下,采用多数表决(步骤5)。这涉及将给定的结点转换成树叶,并用samples中的多数所在类别标记它。换一种方式,可以存放结点样本的类分布。分支test_attribute=ai 没有样本。在这种情况下,以samples中的多数类创建一个树叶(步骤12)。Decision_Tree(sa
5、mples,attribute_list)输入由离散值属性描述的训练样本集samples;候选属性集合attribute_list。输出一棵决策树。1)创建节点N;2)if samples 都在同一类C中then 3)返回N作为叶节点,以类C标记;4) if attribute_list为空then 5)返回N作为叶节点,以samples 中最普遍的类标记;/多数表决6)选择attribute_list 中具有最高信息增益的属性test_attribute;7)以test_attribute 标记节点N;8)for each test_attribute 的已知值v /划分 samples9)由节点N分出一个对应test_attribute=v的分支;10)令Sv为 samples中 test_attribute=v 的样本集合;/一个划分块11)if Sv为空 then 12)加上一个叶节点,以samples中最普遍的类标记;13)else 加入一个由Decision_Tree(Sv,attribute_list-test_attribute)返回节点值六、实验结果1、具体输出结果如图1、2所示:图1图22、根据输出结果画出决策树,如图3所示:图3-