数据挖掘6个实验实验报告.docx
《数据挖掘6个实验实验报告.docx》由会员分享,可在线阅读,更多相关《数据挖掘6个实验实验报告.docx(37页珍藏版)》请在冰豆网上搜索。
数据挖掘6个实验实验报告
中南民族大学
计算机科学学院
《数据挖掘与知识发现》
综合实验报告
姓名
年级
专业软件工程
指导教师
学号
序号
实验类型综合型
成绩评定
评语:
教师签名:
年月日
2016年12月10日
年级
14级
专业
软件工程
班级
2班
组号
实验室
日期
实验
名称
实
验
内
容
分项内容
实验级别
1.Weka环境熟悉;决策树
(1)
2.决策树
(2)
3.关联规则,聚类分析
4.KDD案例
5.属性相关性,神经网络
(1)
6.神经网络
(2)
小组成员
姓名
学号
组内分工
自我评分
教师评分
实验分项
1、Weka环境熟悉;决策树
(1)
实
验
目
的
(1)熟悉Weka软件的环境和基本用法;
(2)掌握ARFF数据文件的编制方法;
(3)学习应用Weka软件建立决策树的方法,并理解决策树的剪枝和未剪枝的分类效果。
实
验
要
求
一、具体题目:
1、参照教材19-22页内容,熟悉Weka软件的安装及使用环境;
2、在记事本程序中编制ColdType-training.arff,ColdType-test.arff
3、打开Weka软件,并参照教材1.9.2,1.9.3小节,完成相关操作,并理解相应处理结果。
4、根据教材表2.1所提供的数据集T,基于Weka软件,应用C4.5
法建立决策树,预测某个学生是否决定去打篮球。
要求:
(1)采用arff文件来完成;
(2)分别完成决策树剪枝和未剪枝的情况。
二、系统平台:
Weka3.6
实
验
原
理
步
骤
(
算
法
流
程
)
一、使用Weka建立决策树模型
1、准备数据:
在记事本程序中编制ColdType-training.arff,ColdType-test.arff。
2、加载和预处理数据。
3、建立分类模型。
(选择C4.5决策树算法)
4、分类未知实例
二、使用Weka进行聚类
1、准备数据:
使用ColdType.csv文件作为数据集。
2、加载和预处理数据。
3、聚类(用简单K-均值算法)
4、解释和评估聚类结果
三、完成感冒类型的相关操作及相应处理结果
1.加载了ColdType-training.arff文件后的WekaExplorer界面:
2.感冒类型诊断分类模型输出结果:
Sore-throat=Yes
|Cooling-effect=Good:
Viral(2.0)
|Cooling-effect=Notgood:
Bacterial(4.0/1.0)
|Cooling-effect=Unknown:
Bacterial(1.0)
Sore-throat=No:
Viral(3.0)
NumberofLeaves:
4
Sizeofthetree:
6
Timetakentobuildmodel:
0.02seconds
===Evaluationontrainingset===
===Summary===
CorrectlyClassifiedInstances990%
IncorrectlyClassifiedInstances110%
Kappastatistic0.8
Meanabsoluteerror0.15
Rootmeansquarederror0.2739
Relativeabsoluteerror31.0345%
Rootrelativesquarederror55.8694%
TotalNumberofInstances10
===DetailedAccuracyByClass===
TPRateFPRatePrecisionRecallF-MeasureROCAreaClass
0.833010.8330.9090.938Viral
10.1670.810.8890.938Bacterial
WeightedAvg.0.90.0670.920.90.9010.938
===ConfusionMatrix===
ab<--classifiedas
51|a=Viral
04|b=Bacterial
分析:
①该输出结果给出了决策树的结构,该决策树共有六个节点,其中四个节点为叶子。
该决策树的检验数据为训练数据,检验的结果为分类的正确实例数占90%,分类错误的实例数占10%。
由最后的混淆矩阵可看出,有5个实际为Viral的实例,正确的分到了Viral类中;有4个实际为Bacterial的实例也被正确的分类到了Bacterial类中;但是有一个实际为Viral的实例却被错误的分到了Bacterial类中。
②通过分类正确率可对分类模型的质量进行初步评估,因本例中该值为90%,可以认为模型的性能较好。
但是本例中使用的数据为训练数据,所以模型在未来的未知数据中所表现的性能还不能通过现在的分类正确率进行评估。
3.感冒类型诊断决策树:
4.感冒类型诊断聚类结果:
Clustercentroids:
Cluster#
AttributeFullData01
(10)(5)(5)
=================================================
Increased-lymYesYesNo
LeukocytosisYesNoYes
FeverYesYesYes
Acute-onsetYesYesNo
Sore-throatYesNoYes
Cooling-effectGoodGoodNotgood
GroupYesYesNo
Timetakentobuildmodel(fulltrainingdata):
0seconds
===Modelandevaluationontrainingset===
ClusteredInstances
05(50%)
15(50%)
Classattribute:
Cold-type
ClassestoClusters:
01<--assignedtocluster
51|Viral
04|Bacterial
Cluster0<--Viral
Cluster1<--Bacterial
Incorrectlyclusteredinstances:
1.010%
分析:
由诊断聚类结果图可知,聚类中有两个簇Cluster0和Cluster1,分别对应Viral类和Bacterial类,但有一个实例被聚类到错误的簇,聚类错误率为10%。
5.感冒类型诊断聚类可视化界面:
6.聚类错误的实例信息:
分析:
由上图可知,这个被错误分到簇Cluster1中的是实例7。
四.应用C4.5算法建立决策树,预测某个学生是否决定去打篮球。
未剪枝的决策树:
剪枝后的决策树:
分析:
由上图可知,未剪枝和剪枝的决策树是一样的,理论上应该是有差别的,可能因为此例中数据量过少,所以它们的差别没有显现出来。
实
验
收
获
通过本次实验,我掌握ARFF数据文件的编制方法,并且学会了应用Weka
软件建立决策树的方法,并理解决策树的剪枝和未剪枝的分类效果。
实验分项
2、决策树
(2)
实
验
目
的
(1)进一步熟悉Weka软件的环境和基本用法;
(2)学习应用Weka软件建立决策树的方法,并理解决策树的剪枝和未剪枝的分类效果。
实
验
要
求
一、具体题目:
1、对例2.3进行验证。
使用来自UCI的Creditscreeningdatabase数据集,应用weka的J48算法建立2棵决策树,分别为剪枝和未剪枝的情形。
2、对以上问题,分别采用usetrainingset和cross-validation方式进行验证。
3、理解决策树算法的不稳定性:
将表2.1中的第3条实例的Play属性值由Yes改为No,再进行相同的决策数训练,比较生成的分类模型。
二、系统平台:
Weka3.6
实
验
原
理
步
骤
(
算
法
流
程
)
一、使用来自UCI的Creditscreeningdatabase数据集,应用weka的J48算法建立的决策树。
1.用usetrainingset验证
未剪枝的决策树:
输出结果:
===Classifiermodel(fulltrainingset)===
J48unprunedtree
===Evaluationontrainingset===
===Summary===
CorrectlyClassifiedInstances65594.9275%
IncorrectlyClassifiedInstances355.0725%
Kappastatistic0.8969
Meanabsoluteerror0.0866
Rootmeansquarederror0.206
Relativeabsoluteerror17.5277%
Rootrelativesquarederror41.4557%
TotalNumberofInstances690
===DetailedAccuracyByClass===
TPRateFPRatePrecisionRecallF-MeasureROCAreaClass
0.9250.0310.9590.9250.9420.977+
0.9690.0750.9420.9690.9550.977-
WeightedAvg.0.9490.0560.950.9490.9490.977
===ConfusionMatrix===
ab<--classifiedas
28423|a=+
12371|b=-
剪枝后的决策树:
输出结果:
===Classifiermodel(fulltrainingset)===
J48prunedtree
===Evaluationontrainingset===
===Summary===
CorrectlyClassifiedInstances62690.7246%
IncorrectlyClassifiedInstances649.2754%
Kappastatistic0.8125
Meanabsoluteerror0.1564
Rootmeansquarederror0.2781
Relativeabsoluteerror31.6573%
Rootrelativesquarederror55.9554%
TotalNumberofInstances690
===DetailedAccuracyByClass===
TPRateFPRatePrecisionRecallF-MeasureROCAreaClass
0.9020.0890.8910.9020.8960.937+
0.9110.0980.9210.9110.9160.937-
WeightedAvg.0.9070.0940.9070.9070.9070.937
===ConfusionMatrix===
ab<--classifiedas
27730|a=+
34349|b=-
2.用cross-validation验证
未剪枝的决策树:
输出结果:
===Classifiermodel(fulltrainingset)===
J48unprunedtree
===Stratifiedcross-validation===
===Summary===
CorrectlyClassifiedInstances56581.8841%
IncorrectlyClassifiedInstances12518.1159%
Kappastatistic0.6314
Meanabsoluteerror0.202
Rootmeansquarederror0.3982
Relativeabsoluteerror40.8871%
Rootrelativesquarederror80.1346%
TotalNumberofInstances690
===DetailedAccuracyByClass===
TPRateFPRatePrecisionRecallF-MeasureROCAreaClass
0.7720.1440.8120.7720.7910.819+
0.8560.2280.8240.8560.840.819-
WeightedAvg.0.8190.190.8190.8190.8180.819
===ConfusionMatrix===
ab<--classifiedas
23770|a=+
55328|b=-
剪枝后的决策树:
输入结果:
===Classifiermodel(fulltrainingset)===
J48unprunedtree
===Stratifiedcross-validation===
===Summary===
CorrectlyClassifiedInstances56581.8841%
IncorrectlyClassifiedInstances12518.1159%
Kappastatistic0.6314
Meanabsoluteerror0.202
Rootmeansquarederror0.3982
Relativeabsoluteerror40.8871%
Rootrelativesquarederror80.1346%
TotalNumberofInstances690
===DetailedAccuracyByClass===
TPRateFPRatePrecisionRecallF-MeasureROCAreaClass
0.7720.1440.8120.7720.7910.819+
0.8560.2280.8240.8560.840.819-
WeightedAvg.0.8190.190.8190.8190.8180.819
===ConfusionMatrix===
ab<--classifiedas
23770|a=+
55328|b=-
分析:
由剪枝和未剪枝的结果可以看出,未剪枝的决策树尽管得到了更高的分类正确率,但是因其决策树宽度较大、分支较多,对于结果的解释能力较弱,分类的一般化程度较低。
实
验
收
获
通过本次实验,我进一步掌握了Weka软件建立决策树的方法,并理解决策
树的剪枝和未剪枝的分类效果。
实验分项
3、关联规则,聚类分析
实
验
目
的
(1)进一步熟悉Weka软件的环境和基本用法;
(2)学习应用Weka软件生成关联规则的方法;
(3)学习应用Weka软件进行K-means聚类分析的方法。
实
验
要
求
一、具体题目:
1、根据教材表2.3所提供的数据集,基于Weka软件,应用Apriori算法建立关联规则。
要求:
(1)采用arff文件来完成;(注意文件头部的@relation,@attribute,@data
等信息不能缺省)
(2)将表2.3的数值型数据改为分类类型数据。
2、对教材表2.6的数据集,应用Weka软件进行K-means聚类,注意先建立一个arff文件。
3、对教材习题2-10题,进行上机验证。
二、系统平台:
Weka3.6
实
验
原
理
步
骤
(
算
法
流
程
)
1.根据教材表2.3所提供的数据集,基于Weka软件,应用Apriori算法建立关联规则。
输出结果:
分析:
由以上输出结果可知,支持度阈值为0.35,置信度阈值为0.9,以及生成的关联规则有10条,置信度都为100%。
2、对教材表2.6的数据集,应用Weka软件进行K-means聚类,注意先建立一个arff文件。
①K-means聚类的输出结果:
分析:
由输出结果可知,实例被分为0,1两个簇,分别有3个和2个实例,每个簇中心值分别为(4.1667,4.3333)和(1.5,1.25),与计算结果吻合。
②K-means聚类的可视化输出结果:
3、使用打篮球数据集进行K-means无指导的聚类,检查聚类结果
输出结果:
实验收获
通过本次实验,我掌握了Weka软件生成关联规则的方法,并学会了用Weka软件进K-means聚类分析的方法。
实验分项
4、KDD案例
实
验
目
的
(1)学习应用Weka软件进行KDD案例分析的基本步骤;
(2)学习通过K-means聚类算法对输入属性进行评估的方法。
实
验
要
求
一、具体题目:
参照教材3.3小节,基于Weka软件,完成KDD过程模型和分析任务。
要求:
(1)采用arff文件来完成;
(2)数据源基于UCI的CreditScreeningDatabase.arff。
实验第1部分:
使用Weka进行有指导的学习训练,选择C4.5算法
实验第2部分:
基于无指导聚类技术,对输入属性进行评估
二、系统平台:
Weka3.6
实
验
原
理
步
骤
(
算
法
流
程
)
1、使用KDD过程模型,通过建立信用卡筛选分类模型,对申请信用卡用户进行评估,决定是否接受其信用卡申请。
通过实验重点掌握KDD的数据准备、建模和评估过程,了解和体会KDD的迭代过程。
①分类模型训练结果:
===Evaluationontestsplit===
===Summary===
CorrectlyClassifiedInstances19884.2553%
IncorrectlyClassifiedInstances3715.7447%
Kappastatistic0.6801
Meanabsoluteerror0.2032
Rootmeansquarederror0.3418
Relativeabsoluteerror41.0193%
Rootrelativesquarederror68.4314%
TotalNumberofInstances235
===DetailedAccuracyByClass===
TPRateFPRatePrecisionRecallF-MeasureROCAreaClass
0.7520.0790.8910.7520.8160.893+
0.9210.2480.8110.9210.8620.893-
WeightedAvg.0.8430.170.8480.8430.8410.893
===ConfusionMatrix===
ab<--classifiedas
8227|a=+
10116|b=-
分析:
通过输出结果,得出检验集分类正确率为84.3%,是个不算太差的结果,可以用于评估新申请信息卡客户。
②聚类结果:
2.属性评估
Weka检测出的缺失属性值:
分析:
由图可知,Missing显示该属性具有9个缺失值。
实
验
收
获
通过本次实验,我掌握了通过K-means聚类算法对输入属性进行评估的方法,获益匪浅。
实验分项
5、属性相关性,神经网络
(1)
实
验
目
的
(1)理解评估的原理,掌握属性相关性的计算。
(2)理解BP神经网络的基本原理,掌握应用BP算法建立前馈神经网络的方法和步骤。
一、具体题目:
1.根据5.4节的5.4.1小节,基于Excel的correl函数计算属性相关性,并使用散点图来查看属性相关性,对结果进行分析。
2.参照教材6.2.3小节,基于weka软件,使用BP算法创建有指导的分类模型。
二、系统平台:
Weka3.6
实
验
原
理
步
骤
(
算
法
流
程
)
1.1使用MSExcel的CORREL函数计算属性相关性
输出结果:
分析:
在上下单元格中分别显示了0.9627和-0.3661。
前一个值接近于1,说明花瓣长度和宽度之间有较强的正相关性;而后一个值说明花瓣宽度和花萼宽度两个属性之间具有一定的但较小的负相关性。
1.2使用散点图检查属性相关性
Petal_width和Petal_length的散点图:
Petal_width和Sepal_width的散点图:
分析:
在以上两个散点图中,根据相关系数和散点图可以判断Petal_with和Petal_length两个属性之间具有较强的正相关性,Petal_with和