数据挖掘_xxx_xxxx_第1页
数据挖掘_xxx_xxxx_第2页
数据挖掘_xxx_xxxx_第3页
数据挖掘_xxx_xxxx_第4页
数据挖掘_xxx_xxxx_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中南民族大学计算机科学学院数据挖掘与知识发现综合实验报告姓 名 年 级 级 专 业 软件工程指导教师 李波 学 号 序 号 31 实验类型 综合型 成绩评定评语:教师签名: 年 月 日 2016 年 12月 15 日年级专 业软件工程班级组号实验室9-205日期实验名称数据挖掘与知识发现实验内容分项内容实验级别Weka环境熟悉;决策树(1)决策树(2)关联规则,聚类分析KDD案例属性相关性,神经网络(1)神经网络(2)小 组 成 员姓名学号组内分工自我评分教师评分实验分项1 Weka环境熟悉;决策树(1)实验目的1. 熟悉Weka软件的环境和基本用法。2. 掌握ARFF数据文件的编制方法。3.

2、 学习应用Weka软件建立决策树的方法,并理解决策树的剪枝和未剪枝的分类效果。实验要求1、 参照教材 19 -22 页内容,熟悉 页内容,熟悉 WekaWeka Weka软件的安装及使用环境; 2、在记事本程序中编制 ColdType training.arff, ColdTypetest.arff .3、打开 WekaWeka Weka软件,并参 软件,并参 照教材 1.9.2 1.9.2 ,完成相关操作并 小节,完成相关操作并 小节,完成相关操作并 小节,完成相关操作并 理解 相应 处理结果。4、根据教材表 2.1 所提供的数据集 T,基于 WekaWeka Weka软件,应用 C4.5

3、算法建立决策树, 预测某个学生是否决定去打篮球。要求:( 1)采用 arff arff文件来完成; 文件来完成;(2)分别完成决策树剪枝和未的情况。实验原理步骤(算法流程)1熟悉Weka软件的环境和基本用法并编写arff文件。(1) 我们实验中Weka访问的数据格式是arff格式的。(2) 运行Weka后,出现了窗口,我们在里面选择Explorer界面。(3) 在Preprocess选项卡,点击file按钮,加载arff文件,就可以对文件中的数据进行采集挖掘。(4) 用data定义数据集的开始,数据值用逗号隔开,若存在缺失数据,则用问号表示。2打开Weka软件,按照教材要求完成相关操作,并理解

4、相应处理结果(1)在打开arff文件后,界面详细显示了数据集的实例个数,属性值的比例关系等。图1实验原理步骤(算法流程)(2)在界面中可以进行属性和实例的筛选,直接在对话框中对数据实例进行筛选,对缺失数据进行填补,重命名甚至进行排序也可以。(3)建立分类模型,切换到classify选项卡,单击choose按钮,打开分类器选择对话框,选择J48来建立决策树模型。在Test options面板底部有一个More options按钮,单击该按钮,打开Classifier evaluation options对话框,设置选中Output predictions复选框,可以在输出结果中出现预测输出结果。

5、单击start按钮,就可以执行数据挖掘。图2(3)在Result list列表框的会话条目上右击,从快捷菜单中选择Visualize tree命令,打开Tree View窗口,可以看到感冒类型诊断决策树。实验原理步骤(算法流程)图3(4)利用所建立的分类模型分类未知实例,在执行数据挖掘前,将Test options检验方式设置为Supplies test set,并打开ColdType-test.arff文件作为检验集。在输出结果中显示预测结果,再单击start按钮,执行数据挖掘。(5)切换到Cluster选项卡,选择简单K-均值算法,打开算法参数设置对话框,在其中设置聚类的相关参数,本次实验

6、中簇的个数为2,分类属性为Cold-Type。实验原理步骤(算法流程)(6)为了能够更客观的显示,打开可视化窗口,将x轴改为Cluster,将Y轴改为Cold-Type,拖动Jitter滑块至中间,可以清楚地看到分布结果。我们可以清楚地看见数据分为了两个簇,每一个簇中的感冒性质是一样的,两个簇的种类分别是病毒性感冒和细菌性感冒。(7)并且能够看清楚坐标系中每个点所在的信息。实验结果及分析(8)使用Weka进行关联分析,切换到Associate选项卡,规则书默认为10条,最小置信度为0.9.执行关联分析。由上图我们可以发现并不是所有的关联规则都是有价值的,所以在参数设置上还有很大的改进空间。(9

7、)根据打篮球的数据集建立剪枝与未剪枝的决策树。由于打篮球的数据太少,所以剪枝与未剪枝的决策树是一样的,只有当数据很多的时候,决策树才会有明显的不同。(10)预测某个学生是否决定去打篮球经test文件的数据集以及由篮球数据得出的决策树得到是否决定打篮球的输出结果。在这次的test文件中得到的两个预测结果一个是yes,一个是No。实验收获通过本次实验,我基本掌握了weka软件的使用,掌握ARFF数据文件的编制方法。并学习应用Weka软件建立决策树的方法,并理解决策树的剪枝和未剪枝的分类效果 实验分项2 决策树(2)实验目的1. 进一步熟悉Weka软件的环境和基本用法。2. 学习应用Weka软件建立

8、决策树的方法,并理解决策树的剪枝和未剪枝的分类结果。实验要求具体题目1. 使用来自UCI的Credit screening database数据集,应用weka的J48算法建立2棵决策树,分别为剪枝和未剪枝的情形。2. 分别采用use training set和cross-validation方式进行验证。3. 将表的第三条实例play属性值由Yes改为No,在进行决策树训练,比较生成的分类模型。实验原理步骤(算法流程)1. 使用来自UCI的Credit screening database数据集,应用weka的J48算法建立2棵决策树,分别为剪枝和未剪枝的情形。(1) 在J48的算法下,先设

9、置未剪枝情况,单击Classify选项卡中的choose后面的文本框,在打开的参数设置对话框中选择,可以看到决策树的参数设置。经过剪枝的决策树 未经过剪枝的决策树 上面两个验证方法采用的是use training set,下面我们采用交叉验证Cross Validation来验证分类器,所用的折数填为10。 实验原理步骤(算法流程) 下图表示的是剪枝的图,采用的Cross Validation验证。 下图表示的是未剪枝的图,采用的Cross Validation验证。 下图是cross Validation的剪枝决策树决策树的状态如下:下图是cross Validation的未剪枝的决策树,与

10、use training set 的未剪枝决策树是一样的。但是在数据分析中分的更仔细一些,精确一些。2. 将表的第三条实例play属性值由Yes改为No,在进行决策树训练,比较生成的分类模型上图是属性未改之前的决策树实验结果及分析由于表的第三条实例play属性值由Yes改为No,在进行决策树训练,这种选择影响着所有的后续子树。 从上图中我们可以发现通过属性值的更改直接导致了根结点的变化,之前的根结点是Courses,现在根节点是Weather。实验收获通过本次实验,学习应用Weka软件建立决策树的方法,并理解决策树的剪枝和未剪枝的分类结果。实验分项3关联规则,聚类分析实验目的1. 进一步熟悉w

11、eka软件的环境和基本用法。2. 学习应用weka软件生成关联规则的方法。3. 学习应用weka软件进行K-means聚类分析的方法。实验要求具体题目1.根据教材表2.3所提供的数据集,基于weka软件,应用Apriori算法建立关联规则。2.对教材表2.6的数据集,应用weka软件进行K-means聚类,先建立一个arff文件。3.对教材习题2-10题,进行上机验证。系统平台。Weka软件实验原理步骤(算法流程)1. 根据教材表2.3所提供的数据集,基于weka软件,应用Apriori算法建立关联规则。(1) 为适应Apriori算法,我们要将数值型数据转换成分类类型数据,将其中的1替换成y

12、es,0替换成no。(2) 加载数据项之后,用weka打开文件,切换到Associate选项卡,单击Choose按钮,选择Apriori算法。(3) 单击choose按钮右方的文本框,在算法参数设置对话框中,设置outputItemSets为True,希望输出条目集,从图中可以看到使用置信度Confidence进行规则的度量,最小置信度为0.9,支持度support阈值的上下限为0.11.0,我在此次的实验中阈值设为0.1。实验原理步骤(算法流程)(4)单击Start按钮,输出结果如下图,在图中看到支持度阈值为0.35,置信度阈值为0.9,以及各个条目集,而我们可以看到生成的关联规则有10条,

13、置信度全为100%。实验结果及分析APriori算法输出结果关联规则结果分析:1. 关联规则应用广泛,大型数据之间可以经常发现数据之间的关系。2. 但是一次关联分析输出的规则往往数量较多,但多数并无利用价值,所以我们应用要谨慎。2. 对教材表2.6的数据集,应用weka软件进行K-means聚类,先建立一个arff文件。(1) 加载arff文件,切换到Cluster选项卡,单击Choose按钮,打开算法对话框,选择SimpleKMeans算法(2) 单击Choose按钮右方的文本框,打开参数设置对话框,查看参数,保持默认值,将K值设为2,距离函数选择欧氏距离。实验结果及分析(3) 单击Star

14、t按钮,查看结果,注意结果中将实例分为0和1两个簇,最后分别有两个和三个实例,并且每个簇中心的值分别为(4.1667,4.3333)和(1.5,1.25),与算出来的结果完全相同。、(4) K-means聚类的输出结果K-means聚类的可视化输出结果实验结果及分析(4)在Result list窗格中的本次数据挖掘会话条目上右击,选择Visualize cluster assignments命令,打开聚类可视化窗口,选择x,y,分别显示属性值。K-means算法小结:(1) 在算法开始前,需要选择K值,不同的K值会有不同的聚类效果。(2) 当簇的大小近似相等时,K-means的算法效果最好。对

15、于习题2-10的验证:1. 我们先加载篮球的数据集,选择play列,单击Remove按钮,使该属性不参加训练。切换到Cluster选项卡,单击choose按钮,打开算法选择对话框,选择SimpleKMeans算法。2. 单击Choose右方的文本框,打开参数设置对话框,保持默认值。3. 单击start按钮,查看结果。实例被分成了0,1两个簇,分别是7,8个实例,与play的实际分类情况一致。4. 在result list窗格中的本次数据挖掘会话条目上右击,会出现如下图所示的可视化输出结果。本次实验基本算法是K-means算法:1. 随机选择一个K值,用以确定簇的总数。2. 在数据集中任选K个实

16、例,将他们作为初始簇中心。3. 计算这K个簇中心与其他剩余实例的简单欧氏距离,按照这个划分到簇中。4. 使用每个簇中的实例计算该簇的新簇中心。当计算得到新的簇中心与上次一致,则终止算法。实验收获1. 算法中使用置信度和支持度两个指标来确定关联规则,关联规则是从大型数据库中找到数据之间的关联关系,关联规则和传统的产生式规则不同。2. K-means算法:随机选择一个K值,用以确定簇的总数;在数据集中任选K个实例,将他们作为初始簇中心;计算这K个簇中心与其他剩余实例的简单欧氏距离,按照这个划分到簇中;使用每个簇中的实例计算该簇的新簇中心;当计算得到新的簇中心与上次一致,则终止算法。实验分项4KDD

17、案例实验目的1. 学习应用Weka软件进行KDD案例分析的基本步骤。2. 学习通过K-means聚类算法对输入属性进行评估的方法。实验要求具体题目参照教材3.3小结,基于Weka软件,完成KDD过程模型和分析任务系统平台Weka软件实验原理步骤(算法流程)步骤:建模 使用Weka进行有指导的学习训练,选择C4.5数据挖掘算法,在weka中名为J48将test option 设置为Percentage split,并使用默认百分比66%。选择class为输出属性,并选中classifier evaluation options 对话框中的Output predictions 复选框,以显示在检验

18、集上的预测结果。步骤:评估通过检查如下图所示,我们可以得出检验集分类正确率为84.3%,是一个不算太差的结果,可以用于评估。步骤:评估而我们为了得到更高质量的分类器,我们可以作以下考虑:1. 修改算法参数2. 进行属性评估3. 进行实例选择4. 选择其他有指导学习算法其中对于在尝试修改算法参数,而分类器质量未得到明显的改善的情况下,可考虑进行属性评估。即检查输入属性是否能够很好的定义数据中所包含的类。如果输入属性很好的定义了输出类,将看到实例很自然被聚类到已知的类中。所以通过无指导聚类技术,可以对输入属性进行评估。下图是分类模型训练结果评估步骤如下:1. 先加载信用卡筛选数据集到Weka,切换

19、到Cluster选项卡,选择Simple KMeans算法。2. 设置算法参数,显示标准差,迭代次数设置为5000次,其他保持默认,簇的默认情况下为2。3. 在Cluster mode面板中设置评估数据为Use training set,并单击Ignore attributes按钮,选择忽略class属性。4. 单击start按钮,执行聚类,结果如下图,观察结果可发现,共有690个实例,其中有518个实例被分类到Cluster0中,172个实例被分类到Cluster1中,但是与实际分类情况不相似,实际情况是被分成了307个实例和383个实例,所以该聚类所形成的簇没有较高的质量,初步断定输入属性

20、对于实例的分类能力不太强,如下图所示:实验原理步骤(算法流程)聚类结果对属性进行进一步分析,包括两个方面。1. 对缺失属性进行检测。2. 对所有属性的分类能力进行检测,找出较大分类能力的几个属性和具有较小分类能力的属性。对于缺失属性值的检测结果,通过Weka的Preprocess预处理选项卡。选择不同属性,查看Missing项,如下图的six属性检测情况。实验原理步骤(算法流程)Missing显示该属性有9个缺失值,通过查看数据集数据,发现该属性的确缺失9个属性值,所以weka将所有的缺失值检测出来了。对于所有属性的分类能力的检测,可通过查看Clusterer output窗口中每个属性的每个

21、取值在两个簇中的分布来初步确定。如属性A1的一个取值b分别在Cluster0和Cluster1中出现了356和124,分别占出现的所有的A1取值的68%和72%。属性A1的另外一个取值分别在Cluster0和Cluster1中出现了162和48,分别占出现的所有的A1取值的31%和27%。而A1 中的每个取值分别在两个簇中的出现的比例差不多,表明属性A1分别取值a和b的实例并没有很好地被聚类到不同的簇。这就说明属性A1不具有较好的分类能力。但我们可以从聚类图中看出如A5 的分类能力就比较好,同样我们也可以通过Visualize cluster assignments 窗口直观地观察15个属性的

22、分类能力。属性A1:属性A2:实验原理步骤(算法流程)属性A9:属性A12:实验原理步骤(算法流程)属性A11:属性A4:实验原理步骤(算法流程):通过对15个输入属性进行分类能力的检查,发现A9,A10,A11,A12这4个属性具有较好的分类预测能力,而A1,A2,A4,A5,A6这5个属性具有较差的分类预测能力。下面我们可以选择A9,A10,A11,A12这4个具有较好分类预测能力的属性,删除其他属性进行实验,发现分类的正确率仍为84.3%,分类正确率并未得到提升,说明依靠属性选择期望提高分类器质量的办法不行。但是若删除这四个属性,使用其他的输入属性进行实验,得到的正确率会有很大幅度的下降

23、,所以我们可以仅使用这四个属性建模,在提高实验效率的同时,又不降低分类器的质量。通过属性选择不能达到提高分类模型质量的目的,那么我们可以通过实例选择来提高,选择具有代表性的属性值的实例,其中分类类型的属性值为出现比例最高的属性值,如A1的b属性值,数值型属性值为接近各类中均值的取值如A2中属性32.55,28.6,所以我们要取属性A2的值接近这两个值的实例。选择这些输入属性进行实验,会发现分类的正确率有所提高。最后的输出结果如下图所示:实验结果及分析我们可以发现正确率从84.3%提高到了92.3%,所以我们有代表性属性值的数据实例建立有指导的模型比训练实例建立的模型效果更好。本次实验基本算法是

24、K-means算法:5. 随机选择一个K值,用以确定簇的总数。6. 在数据集中任选K个实例,将他们作为初始簇中心。7. 计算这K个簇中心与其他剩余实例的简单欧氏距离,按照这个划分到簇中。8. 使用每个簇中的实例计算该簇的新簇中心。9. 当计算得到新的簇中心与上次一致,则终止算法。实验收获 通过这次实验,我知道了基本算法是K-means算法,K-means是一种无指导的聚类技术,使用它可以将相似性高的实例划分到相应的簇中,但是它缺乏对数据集属性的重要性判断。实验分项5属性相关性,神经网络(1)神经网络(2)实验目的1. 理解属性评估的原理,掌握属性相关性的计算。2. 理解BP神经网络的基本原理,

25、掌握应用BP算法建立前馈神经网络的方法和步骤。实验要求具体题目1. 根据教材5.4节的5.4.1小节,基于Excel的correl函数计算属性相关性,并使用散点图来查看属性相关性,对结果进行分析。2. 参照教材6.2.3小节,基于weka软件,使用BP算法创建有指导的分类模型。实验内容为6.2.3中实验1:建立逻辑异或模型。系统平台 Weka软件和Excel表格实验原理步骤(算法流程)1. 使用MS Excel的CORREL函数计算属性相关性用Excel的CORREL函数计算iris数据集中的Petal_width(花瓣宽度)和Petal_length(花瓣长度),Petal_width(花瓣

26、宽度)和Sepal_ width(花萼宽度)两对属性之间的分别相关度。过程如下。(1) 在Excel中加载iris.xls数据集。(2) 在一个空白单元格中输入=CORREL(B2:B151,C2:C151),单击确定按钮。(3) 在另一个空白单元格中输入=CORREL(B2:B151,D2:D151),单击确定按钮。 在两个单元格中分别显示了0.9627和-0.3661。前一个值接近于1,说明花瓣宽度和长度之间具有较强的正相关性;而后一个值说明花瓣宽度和花萼宽度两个属性之间具有一定的但较小的负相关性。2. 使用散点图检查属性的相关性相关系数只能表示两个属性之间的线性相关程度。两个具有较小r值

27、的属性仍可能存在曲线的关系。通过散点图可以检查两个属性之间是否存在曲线相关,当然也能显示两个属性间的线性相关性。实验原理步骤(算法流程)步骤:1. 在Excel中加载iris.xls数据集。2. 选中Petal_width和Petal_length列,打开“插入”菜单,单击“散点图”按钮,插入以这两个属性为x坐标和y坐标的散点图。3. 选中Petal_width和Sepal_width列,打开“插入”菜单,单击“散点图”按钮,插入以这两个属性为x坐标和y坐标的另一个散点图。Petal_width和Petal_length的散点图Petal_width和Sepal_width的散点图上图显示了生

28、成的两个散点图,根据散点图和相关系数我们可知Petal_width 实验原理步骤(算法流程)和Petal_length之间具有较强的正相关性,而Petal_width和Sepal_width两个属性之间没有相关性。4. 应用BP算法建立前馈神经网络(1) 准备训练数据。新建Excel电子表格文件,输入内容如下图,另存为.csv文件,并加载到Explorer中。(2) 定义网络体系结构,设置相关参数。定义网络体系结构需要作出以下几项选择。1. 隐层:可以设置12个隐层,并指定每个隐层中节点的个数。在Weka中的格式为用逗号分隔的各隐层中节点的个数,如指定的两个隐层,分别有5个和3个隐层节点,设置

29、格式(5,3)。2. 学习率:可以是0.10.9的范围内的数值,通常较低的学习率需要较多的训练迭代,较高的学习率使得网络收敛的更快,由此获得不理想的输出结果的机会更大。3. 周期:全部训练数据通过网络的总次数。4. 收敛性:通过收敛性的设置来选择一个训练终止的最大均方根误差,收敛参数的合理设置为0.1,如果希望根据周期数来终止训练,收敛参数可以设置为一个任意小的值。在Weka中切换到Classify选项卡,单击Classifier窗口的Choose按钮,选择分类器MultilayerPerceptron,在Choose按钮右边的文本框中右击,在弹出的快捷菜单中选择Show properties

30、命令,打开分类器的属性设置对话框。在属性设置对话框中,将GUI设置为True,使得在训练前,可查看包含神经网络体系结构的GUI界面。 并且可交互式地修改结构和设置其他参数,且可以在网络训练过程中暂停,进行结构和参数的反复修改。在属性设置对话框中,设置hiddenLayers为“5,3”,表示有2个隐层,分别有5个和3个隐层节点;设置learning-Rate为“0.5”,trainingTime为“10000” 单击OK按钮,回到WekaExplorer的Classifier窗口,设置Test Options为Use training set,并单击More options按钮,打开Class

31、ifier evaluation options对话框,选中Output predictions复选框,以确保在输出中能够看到检验集的分类情况。 步骤三:训练网络 单击Weka Explorer的Classifier窗口中的start按钮,开始神经网络的训练过程。弹出神经网络GUI界面,单击start按钮,执行训练,并选择Accept训练结果。实验结果及分析XOR Classifier的输出结果步骤四:解释训练结果 从输出结果中可以看到,结果并不理想,其中的Root mean squared为0.5005,4个检验集,2个属于XOR等于1的类实例分类正确,而2个属于XOR等于0的类实例中的计算输出值分别为0.522和0.522,不能清晰的确定属于哪个类。步骤五:结果不理想,更改结果,调整参数,重复实验 观察到分类器的输出结果不理想,更改网络结构,调整参数,重复实验。这次实验指定1个隐层,具有两个隐层节点。学习率设置为0.1,降低学习率的目的是提高迭代次数,希望得到更理想的结果。其他参数保持默认值。 开始训练,通过观察下图分析结果。实验结果分析第二次实验的XOR神经网络GUI界面第二

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论