基于ID3的汽车满意度调查分析实验报告.doc

基于ID3的汽车满意度调查分析实验报告.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据挖掘实验报告 -----ID3实验算法 组长:江进钦 实验应用场景介绍: 应用场合: 普通汽车零售行业及汽车生产商 应用过程概述: 从汽车的价格以及相对应的技术指标角度来对客户进行汽车的满意度调查并进行分类决策,为汽车零售商及汽车生产商今后的销售和生产方面提供了可靠的依据。 数据源的说明: 数据理解: 本次的实验总共选择了600条的数据,其中有200条数据作为测试数据,数据收集过程中体现了随机性和多样性。 (1)、每条数据有六组属性分别是:1、buying: vhigh, high, med, low. 2、maint: vhigh, high, med, low. 3、doors:2, 3, 4, 5more. 4、persons:2, 4, more. 5、lug_boot:small, med, big. 6、safety: low, med, high. (2)、目标属性值可取为:unacc, acc, good, vgood 三、ID3算法概述: 它是基于决策树的挖掘算法,他通过计算每一个属性的信息增益,并选取具有最高增益的 属性值作为给定集合(训练样本)的测试属性,以该属性建立一个节点,成为决策树的决策节点,然后依次来建立决策节点,直到不能再划分为止,算法的核心问题是如何选取在树的每个节点要测试的属性。 算法思路: 该方法以信息增益作为属性测试。信息增益是数据集的整体期望信息与根据某属性划分成子集的期望信息之差。其计算公式为: 算法步骤: 1.给一个带有类标签的数据集。 2.选择信息量大的属性作为根结点。 3.根据根结点属性的取值对数据集进行划分,形成一个二叉(或多叉)树。 4.根据分叉将数据又分成几个数据集。 5.再递归用其余属性对几个数据集进行划分,直到分类属性为止,或规定的层次(剪枝)。 四、算法部分代码: 1、信息熵的计算: namespace DecisionTree { public class Entropy { public int[] statNum = new int[4]; //训练样例集统计结果unacc;,acc;,good;,vgood public double EntropyValue = 0; private int mTotal = 0; private string mTargetAttribute = result; public Entropy() { } public void getEntropy(DataTable samples) { countTotalClass(samples, out statNum[0], out statNum[1], out statNum[2], out statNum[3]); EntropyValue = calcEntropy(statNum[0], statNum[1], statNum[2], statNum[3]); } /// summary /// 统计各个类所包含的样例数 /// /summary /// param name=samples/param /// returns/returns public void countTotalClass(DataTable samples, out int unacc, out int acc, out int good, out int vgood) { unacc = acc = good = vgood = 0; foreach (DataRow aRow in samples.Rows) { if ((String)aRow[mTargetAttribute] == unacc) unacc++; else if (aRow[mTargetAttribute].ToString() == acc) acc++; else if (aRow[mTargetAttribute].ToString() ==

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档