《数据挖掘决策树算法ID3和C4.5》.ppt 23页

  • 2
  • 0
  • 0
  • 约6.61千字
  • 2020-10-24 发布

《数据挖掘决策树算法ID3和C4.5》.ppt

文档工具:
    1. 1、本文档共23页,可阅读全部内容。
    2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
    3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
    4. 文档侵权举报电话:19940600175。
    数据挖掘决策树算法ID3和C4.5 学习数据挖掘的工具-weka weka是用Java语言编写的完整的软件资源 Explorer是weka的主要图形用户界面 weka存储数据的原始方式是ARFF或CSV文件格式 ARFF文件是由一组实例组成,并且每组实例的属性值由逗号分开。(属性的类别) 天气数据 outlook temperature humidity windy play 1 sunny hot high FALSE no 2 sunny hot high TRUE no 3 overcast hot high FALSE yes 4 rainy mild high FALSE yes 5 rainy cool normal FALSE yes 6 rainy cool normal TRUE no 7 overcast cool normal TRUE yes 8 sunny mild high FALSE no 9 sunny cool normal FALSE yes 10 rainy mild normal FALSE yes 11 sunny mild normal TRUE yes 12 overcast mild high TRUE yes 13 overcast hot normal FALSE yes 14 rainy mild high TRUE no 我们希望从上面的实例中找出者若干条规则,使得能够对这些实例的类做出判断(理想情况下)(举例) if outlook=sunny and =high then play =no if humidity= normal then play=yes 第二条规则错分了一个实例样本 决策节点: 1.最上面的节点称为根节点,是整个决策树的开始。 2.每个节点子节点的个数与决策树在用的算法有关。(二叉树、多叉树) 分支:判断过程,要么是新的决策节点,要么是叶子 树叶:树的结尾,每个叶子代表一个类别 根节点 叶子节点 决策节点 叶子节点 叶子节点 步骤: 1.决策树的生成:由训练样本数据集(根据历史数据生成、有一定综合程度的用于数据分析处理的数据集)生成 2.决策树的剪枝:采用新的样本数据集(测试数据集或者训练数据修剪集)检验决策树生成过程中产生的初步规则,将影响预测准确性的分支剪除。 ID3决策树算法描述 1.试探性地选择一个属性放置在根节点,并对该属性的每个值产生一个分支。 2.分裂根节点上的数据集,并移到子女节点,产生一棵局部树。 3.对该划分的信息增益进行计算。 4.对其他属性重复该过程。 5.每个用于划分的属性产生一棵局部树。 6.根据局部树的信息增益值,选择一棵增益最大的属性的局部树。 7.对选定的局部树的每个子女节点重复以上1-6步。 8.这是一个递归过程。如果一个节点上的所有实例都具有相同的类,则停止局部树的生长。 选择属性作为根 产生分支 计算信息增益 选择max增益 数据进一步分裂? 结束 否 是 算法流程图 信息值(熵)、信息增益的概念 熵: entropy(p1,p2,...,pn)=-p1logp1-p2logp2????-pnlogpn 使用负号是因为分数p1,p2,...,pn的对数值是负数,而熵是一个正数。熵是以位bit位单位的,公式里的p1,p2,...,pn他们的和为1。 entropy(p,q,r)=entropy(p,q+r)+(q+r)*entropy(q/(q+r),r/(q+r)) 我们需要一种度量来表示节点的纯度,并需要这种度量告诉我们根据一个变量的属性值将一个不纯的节点上的数据划分到其子女后,纯度提高了多少。最为广泛使用的度量是信息值(熵)。(以天气数据为例) outlook属性的树桩 yes yes no no no yes yes yes yes yes yes yes no no outlook sunny overcast rainy 在叶子节点上的yes和no类的实例数量 分别是[2,3]、[4,0]、[3,2],因此,这些 节点上的信息值分别是: info([2,3])=entropy(2/5,3/5)=0.971 bit info([4,0])=entropy(1,0)=0 bit info([3,2])=entropy(3/5,2/5)=0.971 bit 然后计算这些叶子节点的平均信息值, 并考虑到达每个分支的实例数量: 有5个实例到达第一和第三个分支; 4个实例到达第二个分支:那么平均信息值 info([2,3],[4,0],[3,2]) =(5/14)*0.971+(4/14)*0+(5/1

    文档评论(0)

    • 内容提供方:189****2507
    • 审核时间:2020-10-24
    • 审核编号:7021122053003011

    相似文档