数据挖掘报告.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据挖掘报告姓名:禚百田班级:硕2007-02学号:2007010238程序运行说明:可执行文件:DecisionTreeAlgorithm.exe位置:禚百田2007010238\DecisionTreeAlgorithm\bin\Debug\DecisionTreeAlgorithm.exe编程及运行环境:SQLServer2005,C#2005(如果不能运行,请安装相应软件SQLServer2005、netframework2.0等)程序文本格式目录包括:原始数据:训练集adult.data.txt、测试集adult.test.txt、属性说明adult.names.txt生成数据库adult_data的SQL语句文件:traindataSQL语句.txt、testdataSQL语句.txtadult_data.mdf中,分为4部分:原始训练集traindata1、清理后训练集traindata2、原始测试集testdata1和清理后测试集testdata2数据库adult_data位置:禚百田2007010238\DecisionTreeAlgorithm\bin\Debug\adult_data.mdfC#程序文件:Form1.cs.txt一、使用算法说明1、决策树算法决策树技术是用于分类和预测的主要技术,决策树学习是以实例为基础的归纳学习算法。它着眼于从一组无次序、无规则的事例中推理除决策树表示形式的分类规则。它采用自顶向下的递归方式,在决策树的内部节点进行属性值的比较并根据不同属性判断从该节点向下的分支,然后进行剪枝,最后在决策树的叶节点得到结论。所以从根到叶节点就对应着一条合取规则,整棵树就对应着一组析取表达式规则。基于决策树的分类有很多实现算法。(1)ID3算法是一个从上到下、分而治之的归纳过程。ID3算法的核心是:在决策树各级结点上选择属性时,通过计算信息增益(InformationGain)来选择属性,以使得在每一个非叶结点进行测试时,能获得关于被测试记录最大的类别信息。其具体方法是:检测所有的属性,选择信息增益最大的属性产生决策树结点,由该属性的不同取值建立分支,再对各分支的子集递归调用该方法建立决策树结点的分支,直到所有子集仅包含同一类别的数据为止。最后得到一棵决策树,它可以用来对新的样本进行分类。(2)C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:1)用信息增益率(GainRate)来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;2)在树构造过程中进行剪枝;3)能够完成对连续属性的离散化处理;4)能够对不完整数据进行处理。(3)Gini度量:一般决策树中,使用信息量作为评价节点分裂质量的参数,有些算法中使用gini指标代替信息量,gini指标比信息量性能更好,且计算方便,对数据集包含n个类的数据集S,gini(S)定义为:gini(S)=1-∑pj*pj。2、朴素贝叶斯算法朴素贝叶斯基于贝叶斯定理,假定预测变量属性就目标属性而言在条件上彼此独立。找出各个分类的可能性,再查看对像数据元组X在分类中的可能性,这时,由于属性都是独立的,所在,X在各个分类的可能性就被计算出来,可能性最大的就是X应该的分类。朴素贝叶斯算法涉及计算目标和预测属性值每对组合的概率。为了控制这类组合的数量,有连续值或者大量不同值的属性通常进行分箱处理。本文通过实验对以上算法进行对比说明,检验各种算法实现的分类器的准确率。二、数据集说明及问题分析1、训练集adult.data.txt、测试集adult.test.txt下载地址:、数据集清理说明:(1)原数据集共有14个属性:age、workclass、fnlwgt、education、education_num、marital_status、occupation、relationship、race、sex、capital_gain、capital_loss、hours_per_week、native_country,根据这些属性用来判断每个人每年赚钱是否能够超过50k。(2)由于原属性太多,只保留age、education(与education_num表示含义相同)、occupation、sex、native_country等5个与makeover50k最相关的属性。对它们分类如下:●ageType原为连续值,分为6类:=20为year0_20,21-30为year21_30,31-40为year31_40,41-50为year41_50,51-60为year51_60,=61为yearover60。●原有education_numType:1-16级,分成6级:edu1_3,edu4_6,edu7_9,edu10_12,edu13_14,edu15_16●occupationType共14类,保持不变:Tech_support,Craft_repair,Other_service(?),Sales,Exec_managerial,Prof_specialty,Handlers_cleaners,Machine_op_inspct,Adm_clerical,Farming_fishing,Transport_moving,Priv_house_serv,Protective_serv,Armed_Forces●sexType分为Male、Female两类●原有native-countryType:United-States,Cambodia,England,Puerto-Rico,Canada,Germany,Outlying-US(Guam-USVI-etc),India,Japan,Greece,South,China,Cuba,Iran,Honduras,Philippines,Italy,Poland,Jamaica,Vietnam,Mexico,Portugal,Ireland,France,Dominican-Republic,Laos,Ecuador,Taiwan,Haiti,Columbia,Hungary,Guatemala,Nicaragua,Scotland,Thailand,Yugoslavia,El-Salvador,Trinadad&Tobago,Peru,Hong,Holand-Netherlands}将native_country分成5类developNO1,developNO2,developNO3,developNO4,developNO5后:developNO1:(0.1):Outlying-US(Guam-USVI-etc),Vietnam,Mexico,Dominican-Republic,Laos,Haiti,Hungary,Guatemala,Nicaragua,Scotland,El-Salvador,Trinadad&Tobago,Holand-NetherlandsdevelopNO2:(=0.10.2):Puerto-Rico,South,China,Cuba,Poland,Jamaica,Portugal,Ireland,Ecuador,Peru,?developNO3:(=0.20.3):Honduras,France,Columbia,United-States,England,Germany,Greece,Philippines,Thailand,YugoslaviadevelopNO4:(=0.30.4):India.Japan.developNO5:(=0.4):Cambodia,Canada,Iran,Italy,Taiwan,Hong划分计算方法:SELECTCOUNT(*)FROMtraindata1WHEREnative_country='?'SELECTCOUNT(*)FROMtraindata1WHEREnative_country='?'ANDmakeover='50K'然后将两数相除,按结果划分。具体数值:Outlying-US(Guam-USVI-etc):0Vietnam:0.08Mexico:0.064Dominican-Republic:0.083Laos:0Haiti:0.067Hungary:0Guatemala:0.048Nicaragua:0Scotland:0El-Salvador:0.097Trinadad&Tobago:0Holand-Netherlands:0Puerto-Rico:0.1395South:0.1China:0.1613Cuba:0.1516Poland:0.1739Jamaica:0.1875Portugal:0.1667Ireland:0.125Ecuador:0.125Peru:0.1111?:0.1111Honduras:0.2France:0.2Columbia:0.2United-States:0.2418England:0.2812Germany:0.2653Greece:0.2222Philippines:0.2632Thailand:0.25Yugoslavia:0.25India:0.3Japan:0.3Cambodia:0.4285Canada:0.404Iran:0.4783Italy:0.4545Taiwan:0.4211Hong:0.5三、实验结果1、数据库查看:所有原始及清理后的数据放在adult_data.mdf中,分为4部分:原始训练集、清理后训练集、原始测试集和清理后测试集。注意:原始数据集只能用来查看,不能用来计算或测试。清理后的训练集可用来生成决策树及概率,并可测试,清理后测试集只能用来测试。2、决策树算法:根据不同的度量属性,有三种生成方法(1)导入清理后训练集,选择InformationGain生成决策树使用训练集大约生成160条makeover50k=yes的规则。点击“决策树测试”,训练集测试结果如下:测试数据总数为:10736trueYes数据总数为:247trueNo数据总数为:8032falseYes数据总数为:154falseNo数据总数为:2303测试数据准确率为:77.1143815201192%导入清理后测试集,点击“决策树测试”,测试集测试结果如下:测试数据总数为:16281trueYes数据总数为:319trueNo数据总数为:12123falseYes数据总数为:312falseNo数据总数为:3527测试数据准确率为:76.4203672993059%(2)导入清理后训练集,选择GainRate生成决策树使用训练集大约生成50条makeover50k=yes的规则。点击“决策树测试”,训练集测试结果如下:测试数据总数为:10736trueYes数据总数为:17trueNo数据总数为:8182falseYes数据总数为:4falseNo数据总数为:2533测试数据准确率为:76.3692250372578%导入清理后测试集,点击“决策树测试”,测试集测试结果如下:测试数据总数为:16281trueYes数据总数为:6trueNo数据总数为:12407falseYes数据总数为:28falseNo数据总数为:3840测试数据准确率为:76.2422455623119%(3)导入清理后训练集,选择GainRate生成决策树使用训练集生成6条makeover50k=yes的规则。点击“决策树测试”,训练集测试结果如下:测试数据总数为:10736trueYes数据总数为:1014trueNo数据总数为:7554falseYes数据总数为:632falseNo数据总数为:1536测试数据准确率为:79.806259314456%导入清理后测试集,点击“决策树测试”,测试集测试结果如下:测试数据总

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功