数据挖掘实验报告

合集下载

数据挖掘安全实验报告

数据挖掘安全实验报告

一、实验背景随着信息技术的飞速发展,数据挖掘技术在各个领域得到了广泛应用。

然而,数据挖掘过程中涉及的大量个人信息和敏感数据,使得数据挖掘的安全和隐私问题日益突出。

为了提高数据挖掘的安全性,本实验针对数据挖掘过程中的安全风险进行了深入研究,并提出了相应的解决方案。

二、实验目的1. 分析数据挖掘过程中的安全风险;2. 设计数据挖掘安全实验方案;3. 验证实验方案的有效性;4. 提出提高数据挖掘安全性的建议。

三、实验方法1. 文献调研:通过查阅相关文献,了解数据挖掘安全领域的最新研究成果,为实验提供理论基础;2. 实验设计:根据文献调研结果,设计数据挖掘安全实验方案,包括实验环境、实验数据、实验方法等;3. 实验实施:在实验环境中,按照实验方案进行数据挖掘实验,并记录实验数据;4. 数据分析:对实验数据进行分析,评估实验方案的有效性;5. 结果总结:根据实验结果,提出提高数据挖掘安全性的建议。

四、实验内容1. 数据挖掘安全风险分析(1)数据泄露:数据挖掘过程中,未经授权的访问、篡改或泄露个人信息和敏感数据;(2)数据篡改:攻击者通过篡改数据,影响数据挖掘结果的准确性;(3)隐私侵犯:数据挖掘过程中,收集、存储、处理个人隐私信息时,可能侵犯个人隐私;(4)数据质量:数据挖掘过程中,数据质量低下可能导致挖掘结果不准确。

2. 数据挖掘安全实验方案(1)实验环境:搭建一个数据挖掘实验平台,包括数据源、数据挖掘工具、安全防护设备等;(2)实验数据:选取具有代表性的数据集,包括个人隐私信息、敏感数据等;(3)实验方法:采用数据加密、访问控制、数据脱敏等技术,提高数据挖掘安全性。

3. 实验实施(1)数据加密:对实验数据进行加密处理,确保数据在传输和存储过程中的安全性;(2)访问控制:设置访问权限,限制未经授权的访问;(3)数据脱敏:对个人隐私信息进行脱敏处理,降低隐私泄露风险;(4)数据质量检查:对实验数据进行质量检查,确保数据挖掘结果的准确性。

数据挖掘实验报告结论(3篇)

数据挖掘实验报告结论(3篇)

第1篇一、实验概述本次数据挖掘实验以Apriori算法为核心,通过对GutenBerg和DBLP两个数据集进行关联规则挖掘,旨在探讨数据挖掘技术在知识发现中的应用。

实验过程中,我们遵循数据挖掘的一般流程,包括数据预处理、关联规则挖掘、结果分析和可视化等步骤。

二、实验结果分析1. 数据预处理在实验开始之前,我们对GutenBerg和DBLP数据集进行了预处理,包括数据清洗、数据集成和数据变换等。

通过对数据集的分析,我们发现了以下问题:(1)数据缺失:部分数据集存在缺失值,需要通过插补或删除缺失数据的方法进行处理。

(2)数据不一致:数据集中存在不同格式的数据,需要进行统一处理。

(3)数据噪声:数据集中存在一些异常值,需要通过滤波或聚类等方法进行处理。

2. 关联规则挖掘在数据预处理完成后,我们使用Apriori算法对数据集进行关联规则挖掘。

实验中,我们设置了不同的最小支持度和最小置信度阈值,以挖掘出不同粒度的关联规则。

以下是实验结果分析:(1)GutenBerg数据集在GutenBerg数据集中,我们以句子为篮子粒度,挖掘了林肯演讲集的关联规则。

通过分析挖掘结果,我们发现:- 单词“the”和“of”在句子中频繁出现,表明这两个词在林肯演讲中具有较高的出现频率。

- “and”和“to”等连接词也具有较高的出现频率,说明林肯演讲中句子结构较为复杂。

- 部分单词组合具有较高的置信度,如“war”和“soldier”,表明在林肯演讲中提到“war”时,很可能同时提到“soldier”。

(2)DBLP数据集在DBLP数据集中,我们以作者为单位,挖掘了作者之间的合作关系。

实验结果表明:- 部分作者之间存在较强的合作关系,如同一研究领域内的作者。

- 部分作者在多个研究领域均有合作关系,表明他们在不同领域具有一定的学术影响力。

3. 结果分析和可视化为了更好地展示实验结果,我们对挖掘出的关联规则进行了可视化处理。

通过可视化,我们可以直观地看出以下信息:(1)频繁项集的分布情况:通过柱状图展示频繁项集的分布情况,便于分析不同项集的出现频率。

(完整word版)数据挖掘实验报告-关联规则挖掘(word文档良心出品)

(完整word版)数据挖掘实验报告-关联规则挖掘(word文档良心出品)

数据挖掘实验报告(二)关联规则挖掘**: ***班级: 计算机1304学号: **********一、实验目的1. 1.掌握关联规则挖掘的Apriori算法;2.将Apriori算法用具体的编程语言实现。

二、实验设备PC一台, dev-c++5.11三、实验内容根据下列的Apriori算法进行编程:四、实验步骤1.编制程序。

2.调试程序。

可采用下面的数据库D作为原始数据调试程序, 得到的候选1项集、2项集、3项集分别为C1.C2.C3, 得到的频繁1项集、2项集、3项集分别为L1.L2.L3。

代码#include <stdio.h>#include<string.h>#define D 4 //事务的个数#define MinSupCount 2 //最小事务支持度数void main(){char a[4][5]={{'A','C','D'},{'B','C','E'},{'A','B','C','E'},{'B','E'}};charb[20],d[100],t,b2[100][10],b21[100 ][10];inti,j,k,x=0,flag=1,c[20]={0},x1=0,i1 =0,j1,counter=0,c1[100]={0},flag1= 1,j2,u=0,c2[100]={0},n[20],v=1;int count[100],temp;for(i=0;i<D;i++){for(j=0;a[i][j]!='\0';j++) {//用来判断之前保存的是否和a[i][j]一样, 不一样就保存, 一样就不保存for(k=0;k<x;k++){if(b[k]!=a[i][j]) ; else{flag=0;break;}}//用来判断是否相等 if(flag==1){b[x]=a[i][j];x++;}else flag=1;}}//计算筛选出的元素的支持度计数for(i=0;i<D;i++){for(j=0;a[i][j]!='\0';j++) {for(k=0;k<x;k++){if(a[i][j]==b[k]) {c[k]++;break; }}}}//对选出的项集进行筛选, 选出支持度计数大于等于2的, 并且保存到d[x1]数组中for(k=0;k<x;k++){if(c[k]>=MinSupCount){d[x1]=b[k];count[x1]=c[k];x1++;}}//对选出的项集中的元素进行排序for(i=0;i<x1-1;i++){for(j=0;j<x1-i-1;j++){if(d[j]>d[j+1]){t=d[j];d[j]=d[j+1];d[j+1]=t;temp=count[j];count[j]=count[j+1];count[j+1]=temp;}}}//打印出L1printf("L1 elements are:\n");for(i=0;i<x1;i++){printf("{%c} = %d \n",d[i],count[i]);}//计算每一行的元素个数, 并且保存到n[]数组中for(i=0;i<D;i++){for(j=0;a[i][j]!='\0';j++);n[i]=j;}//对a[][]数组的每一行进行排序for(i=0;i<D;i++){for(j=0;j<n[i]-1;j++){for(k=0;k<n[i]-j-1;k++) {if(a[i][k]>a[i][k+1]){t=a[i][k];a[i][k]=a[i][k+1]; a[i][k+1]=t;}}}}//把L1中的每一个元素都放在b2[i][0]中j1=x1;for(i=0;i<j1;i++){b2[i][0]=d[i];}//把L1中的元素进行组合, K=2开始, 表示x1个元素选K个元素的组合for(k=2;b2[0][0]!='\0';k++){ //u是用来计数组合总数的u=0;v=1;//v 是用来在进行输出各种组合的标识数 v=1 说明正在进行输出 for(i=0;i<100;i++){c2[i]=0;}for(i=0;i<j1;i++){for(i1=i+1;i1<j1;i1++) {for(j=0;j<k-2;j++) {if(b2[i][j]!=b2[i1][j]){flag1=0;break;}}//进行组合的部分if(flag1==1&&b2[i][k-2]!=b2[i1][k-2]){for(j2=0;j2<k-1;j2++){b21[u][j2]=b2[i][j2];}b21[u][k-1]=b2[i1][k-2];u++;}flag1=1;}}counter=0;for(i=0;i<D;i++) //a数组有5行元素{for(i1=0;i1<u;i1++) // 代表x1个元素选K个元素的所有组合总数 {for(j1=0;j1<k;j1++) //K 代表一个组合中的元素个数{for(j=0;a[i][j]!='\0';j++) //逐个比较每一行的元素{if(a[i][j]==b21[i1][j1])counter++;}}if(counter==k)c2[i1]++; //把每种组合数记录在c2数组中counter=0;} }j1=0;temp=0;//这里的temp 是用来分行//对u种情况进行选择, 选出支持度计数大于2的*/for(i=0;i<u;i++){if(c2[i]>=MinSupCount) {if(v==1){printf("L%d elements are:\n",k);v=0;}printf("{");for(j=0;j<k;j++)//输出每种组合k 个元素{b2[j1][j]=b21[i][j];printf("%c,",b2[j1][j]);}j1++;printf("\b}");printf(" = %d \n",c2[i]);temp++;}}b2[j1][0]='\0';}}五、结果截图。

数据挖掘实验报告三

数据挖掘实验报告三

实验三一、实验原理K-Means算法是一种 cluster analysis 的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法。

在数据挖掘中,K-Means算法是一种cluster analysis的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法。

算法原理:(1) 随机选取k个中心点;(2) 在第j次迭代中,对于每个样本点,选取最近的中心点,归为该类;(3) 更新中心点为每类的均值;(4) j<-j+1 ,重复(2)(3)迭代更新,直至误差小到某个值或者到达一定的迭代步数,误差不变.空间复杂度o(N)时间复杂度o(I*K*N)其中N为样本点个数,K为中心点个数,I为迭代次数二、实验目的:1、利用R实现数据标准化。

2、利用R实现K-Meams聚类过程。

3、了解K-Means聚类算法在客户价值分析实例中的应用。

三、实验内容依据航空公司客户价值分析的LRFMC模型提取客户信息的LRFMC指标。

对其进行标准差标准化并保存后,采用k-means算法完成客户的聚类,分析每类的客户特征,从而获得每类客户的价值。

编写R程序,完成客户的k-means聚类,获得聚类中心与类标号,并统计每个类别的客户数四、实验步骤1、依据航空公司客户价值分析的LRFMC模型提取客户信息的LRFMC指标。

2、确定要探索分析的变量3、利用R实现数据标准化。

4、采用k-means算法完成客户的聚类,分析每类的客户特征,从而获得每类客户的价值。

五、实验结果客户的k-means聚类,获得聚类中心与类标号,并统计每个类别的客户数六、思考与分析使用不同的预处理对数据进行变化,在使用k-means算法进行聚类,对比聚类的结果。

kmenas算法首先选择K个初始质心,其中K是用户指定的参数,即所期望的簇的个数。

这样做的前提是我们已经知道数据集中包含多少个簇.1.与层次聚类结合经常会产生较好的聚类结果的一个有趣策略是,首先采用层次凝聚算法决定结果粗的数目,并找到一个初始聚类,然后用迭代重定位来改进该聚类。

数据挖掘实验报告

数据挖掘实验报告

数据挖掘实验报告数据挖掘是一门涉及发现、提取和分析大量数据的技术和过程,它可以揭示出隐藏在数据背后的模式、关系和趋势,对决策和预测具有重要的价值。

本文将介绍我在数据挖掘实验中的一些主要收获和心得体会。

实验一:数据预处理在数据挖掘的整个过程中,最重要的一环就是数据预处理。

数据预处理包括数据清洗、数据集成、数据转换和数据规约等步骤,目的是为了提高数据的质量和可用性。

首先,我对所使用的数据集进行了初步的观察和探索。

发现数据集中存在着一些缺失值和异常值。

为此,我使用了一些常见的缺失值处理方法,如均值替代、中值替代和删除等。

对于异常值,我采用了离群值检测和修正等方法,使得数据在后续的分析过程中更加真实可信。

其次,我进行了数据集成的工作。

数据集合并是为了整合多个来源的数据,从而得到更全面和综合的信息。

在这个过程中,我需要考虑数据的一致性和冗余情况。

通过采用数据压缩和去重等技术,我成功地完成了数据集成的工作。

接着,我进行了数据转换的处理。

数据转换是为了将原始的数据转换成适合数据挖掘算法处理的形式。

在这个实验中,我采用了数据标准化和归一化等方法,使得不同属性之间具备了可比性和可计算性,从而便于后续的分析过程。

最后,我进行了数据规约的操作。

数据规约的目的在于减少数据的维数和复杂度,以提高数据挖掘的效果。

在这个阶段,我采用了主成分分析和属性筛选等方法,通过压缩数据集的维度和减少冗余属性,成功地简化了数据结构,提高了挖掘效率。

实验二:关联规则挖掘关联规则挖掘是数据挖掘中常用的一种方法,它用于发现数据集中项集之间的关联关系。

在这个实验中,我使用了Apriori算法来进行关联规则的挖掘。

首先,我对数据进行了预处理,包括数据清洗和转换。

然后,我选择了适当的最小支持度和最小置信度阈值,通过对数据集的扫描和频繁项集生成,找出了数据集中的频繁项集。

接着,我使用了关联规则挖掘算法,从频繁项集中挖掘出了具有一定置信度的关联规则。

在实验过程中,我发现挖掘出的关联规则具有一定的实用性和可行性。

数据挖掘实验报告-数据预处理

数据挖掘实验报告-数据预处理

数据挖掘实验报告-数据预处理数据挖掘实验报告数据预处理一、实验目的本次实验的主要目的是深入了解和掌握数据预处理在数据挖掘过程中的重要性及相关技术,通过对实际数据集的处理,提高数据质量,为后续的数据挖掘和分析工作奠定良好的基础。

二、实验背景在当今数字化时代,数据的规模和复杂性不断增加,而原始数据往往存在着各种问题,如缺失值、噪声、异常值、不一致性等。

这些问题如果不加以处理,将会严重影响数据挖掘算法的性能和结果的准确性。

因此,数据预处理成为了数据挖掘过程中不可或缺的重要环节。

三、实验数据集本次实验使用了一个名为“销售数据”的数据集,该数据集包含了某公司在过去一年中不同产品的销售记录,包括产品名称、销售日期、销售数量、销售价格、客户信息等字段。

四、数据预处理技术(一)数据清洗1、处理缺失值首先,对数据集中的缺失值进行了识别和分析。

通过观察发现,“客户信息”字段存在部分缺失。

对于这些缺失值,采用了两种处理方法:一是如果缺失比例较小(小于5%),直接删除含有缺失值的记录;二是如果缺失比例较大,采用均值填充的方法进行补充。

2、处理噪声数据数据中的噪声通常表现为数据中的错误或异常值。

通过对销售数量和销售价格的观察,发现了一些明显不合理的数值,如销售数量为负数或销售价格过高或过低的情况。

对于这些噪声数据,采用了基于统计的方法进行识别和处理,将超出合理范围的数据视为噪声并进行删除。

(二)数据集成由于原始数据集可能来自多个数据源,存在着重复和不一致的问题。

在本次实验中,对“销售数据”进行了集成处理,通过对关键字段(如产品名称、销售日期)的比较和合并,消除了重复的记录,并确保了数据的一致性。

(三)数据变换1、数据标准化为了消除不同字段之间量纲的影响,对销售数量和销售价格进行了标准化处理,使其具有可比性。

2、数据离散化对于连续型的数据字段,如销售价格,采用了等宽离散化的方法将其转换为离散型数据,以便于后续的数据挖掘算法处理。

数据挖掘实习报告

数据挖掘实习报告

数据挖掘实习报告一段充实而忙碌的实习生活结束了,相信大家这段时间来的收获肯定不少吧,这时候最关键的一步就是写实习报告了。

你想好怎么写实习报告了吗?下面是店铺帮大家整理的数据挖掘实习报告,希望对大家有所帮助。

数据挖掘实习报告1一、实习目的认识实习是本科教学计划中非常重要的实践性教学环节,其目的是使学生了解和掌握电力生产知识、印证、巩固和丰富已学过的计算机专业课程内容,培养学生理论联系实际,提高其在生产实践中调查研究、观察问题、分析问题以及解决问题的能力和方法,为后续专业课程的学习打下基础。

通过认识实习,还应使学生了解现电力生产方式,培养热爱软件工程专业思想。

二、实习内容为了达到上述实习目的,实习主要内容应包括:1.参观浦东软件园2.上海市高新技术产业展3.四场高水平的技术讲座三、实习过程1.参观浦东软件园进入主体大楼后,上海浦东软件园和它的图标赫然放置在最显眼的门口处,我们跟随着老师的步伐,一路向内层走去。

在路上我们注意到了墙上贴出来的优秀学员的照片,以及关于软件园的人才和研制软件对于国家信息技术的贡献,可以称之为一条荣誉回廊。

迈过这条回廊,我们走到了一个广阔的教室,里面整整齐齐摆放了数十台计算机,看其规模,我猜想这应该是一个大型的计算机学习教室,供里面的学员进行专业方面的开发和探索。

之后我们便各自找好座位,等待浦东软件园的老师给我们做一下关于软件园的介绍并阐述对我们未来工作的需求。

我们坐好后,一场对未来的探索之旅马上就开始了,浦软的老师非常厚道的给我们观看了两场激动人心的宣传视频,详细的介绍了浦软的来由,发展和辉煌以及对整个软件业的展望。

首先,上海浦东软件园做为第一批国家软件产业基地和第一批国家软件出口基地是与北京中关村,大连和西安这四个软件园是齐名的,并且是全国第一家软件园区,这三个一,奠定了浦东软件园在全国软件开发中无论是人才量还是创作量都处于不可动摇的位置。

之后她给我们介绍了浦东软件园是由满庭芳的郭守敬园和浣溪沙的祖冲之园联合组成的。

数据挖掘分类实验详细报告

数据挖掘分类实验详细报告

数据挖掘分类实验详细报告一、引言数据挖掘是从大量数据中提取隐藏在其中的有价值信息的过程。

数据挖掘分类实验是数据挖掘领域中的一项重要任务,其目标是根据已有的数据样本,构建一个能够准确分类未知数据的分类模型。

本报告旨在详细描述数据挖掘分类实验的过程、方法和结果。

二、实验背景本次实验的数据集是一个关于电子商务的数据集,包含了一些与电子商务相关的特征和一个分类标签。

我们的任务是根据这些特征,预测一个电子商务网站上的用户是否会购买某个产品。

三、数据预处理在进行数据挖掘实验之前,我们需要对数据进行预处理。

首先,我们检查数据集是否存在缺失值或异常值。

对于缺失值,我们可以选择删除含有缺失值的样本,或者使用插补方法进行填充。

对于异常值,我们可以选择删除或者进行修正。

其次,我们对数据进行特征选择,选择与分类目标相关性较高的特征。

最后,我们对数据进行归一化处理,以消除不同特征之间的量纲差异。

四、特征工程特征工程是指根据领域知识和数据分析的结果,构建新的特征或者对原有特征进行转换,以提高分类模型的性能。

在本次实验中,我们根据电子商务领域的经验,构建了以下特征:1. 用户年龄:将用户的年龄分为青年、中年和老年三个年龄段,并进行独热编码。

2. 用户性别:将用户的性别进行独热编码。

3. 用户所在地区:将用户所在地区进行独热编码。

4. 用户购买历史:统计用户过去一段时间内的购买次数、购买金额等指标。

五、模型选择与训练在本次实验中,我们选择了三种常用的分类模型进行训练和比较:决策树、支持向量机和随机森林。

1. 决策树:决策树是一种基于树结构的分类模型,通过划分特征空间,将数据样本划分到不同的类别中。

2. 支持向量机:支持向量机是一种通过在特征空间中构建超平面,将不同类别的样本分开的分类模型。

3. 随机森林:随机森林是一种基于决策树的集成学习方法,通过构建多个决策树,最终根据投票结果进行分类。

我们将数据集划分为训练集和测试集,使用训练集对模型进行训练,使用测试集评估模型的性能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据挖掘》Weka实验报告姓名_学号_指导教师开课学期2015 至2016 学年 2 学期完成日期2015年6月12日1.实验目的基于/ml/datasets/Breast+Cancer+WiscOnsin+%28Ori- ginal%29的数据,使用数据挖掘中的分类算法,运用Weka平台的基本功能对数据集进行分类,对算法结果进行性能比较,画出性能比较图,另外针对不同数量的训练集进行对比实验,并画出性能比较图训练并测试。

2.实验环境实验采用Weka平台,数据使用来自/ml/Datasets/Br- east+Cancer+WiscOnsin+%28Original%29,主要使用其中的Breast Cancer Wisc-onsin (Original) Data Set数据。

Weka是怀卡托智能分析系统的缩写,该系统由新西兰怀卡托大学开发。

Weka使用Java写成的,并且限制在GNU通用公共证书的条件下发布。

它可以运行于几乎所有操作平台,是一款免费的,非商业化的机器学习以及数据挖掘软件。

Weka提供了一个统一界面,可结合预处理以及后处理方法,将许多不同的学习算法应用于任何所给的数据集,并评估由不同的学习方案所得出的结果。

3.实验步骤3.1数据预处理本实验是针对威斯康辛州(原始)的乳腺癌数据集进行分类,该表含有Sample code number(样本代码),Clump Thickness(丛厚度),Uniformity of Cell Size (均匀的细胞大小),Uniformity of Cell Shape (均匀的细胞形状),Marginal Adhesion(边际粘连),Single Epithelial Cell Size(单一的上皮细胞大小),Bare Nuclei(裸核),Bland Chromatin(平淡的染色质),Normal Nucleoli(正常的核仁),Mitoses(有丝分裂),Class(分类),其中第二项到第十项取值均为1-10,分类中2代表良性,4代表恶性。

通过实验,希望能找出患乳腺癌客户各指标的分布情况。

该数据的数据属性如下:1. Sample code number(numeric),样本代码;2. Clump Thickness(numeric),丛厚度;3.Uniformity of Cell Size(numeric)均匀的细胞大小;4. Uniformity of Cell Shape(numeric),均匀的细胞形状;5.Marginal Adhesion(numeric),边际粘连;6.Single Epithelial Cell Size(numeric),单一的上皮细胞大小;7.Bare Nuclei(numeric),裸核;8.Bland Chromatin(numeric),平淡的染色质;9. Normal Nucleoli(numeric),正常的核仁;10.Mitoses(numeric),有丝分裂;11.Class(enum),分类。

3.2数据分析由/ml/datasets/Breast+Cancer+WiscOnsin+%28Ori-ginal%29得到一组由逗号隔开的数据,复制粘贴至excel表中,选择数据——分列——下一步——逗号——完成,该数据是有关乳腺癌数据集,有11个属性,分别为Sample code number(样本代码),Clump Thickness(丛厚度),Uniformity of Cell Size(均匀的细胞大小),Uniformity of Cell Shape (均匀的细胞形状),Marginal Adhesion(边际粘连),Single Epithelial Cell Size(单一的上皮细胞大小),Bare Nuclei(裸核),Bland Chromatin(平淡的染色质),Normal Nucleoli (正常的核仁),Mitoses(有丝分裂),Class(分类),因为复制粘贴过来的数据没有属性,所以手工添加一行属性名。

Weka分类数据需把excel保存为一个csv文件。

3.2.1 .csv -> .arff将CSV转换为ARFF最迅捷的办法是使用WEKA所带的命令行工具。

打开weka,之后出现GUI界面,如图1所示:(图1)点击进入“Exploer”模块,要将.csv格式转换为.arff格式,点击open file...,打开刚保存的“乳腺癌数据集.csv”,点击“Save...”,将文件保存为“乳腺癌数据集.csv.arff”如图2所示:(图2)图3中显示的是使用“Exploer”打开“乳腺癌数据集.csv.arff”的情况.如图3所示:(图3)3.2.2 数据预处理很明显发现,所用的数据都是(numeric)数值型的,需要将数值型离散化,将“Clump Thickness ”,“Uniformity of Cell Size ”,“Uniformity of Cell Shape”,“Marginal Adhesion ”,“Marginal Adhesion ”,“Bare Nuclei ”,“Bland Chromatin ”,“Normal Nucleoli ”,“Mitoses”,“Class”离散化。

我们需要借助Weka中名为“Discretize”的Filter来完成。

在区域2中点“Choose”,出现一棵“Filter树”,逐级找到“weka.filters.unsupervised.attribute .Discretize”点击,即可得到如下所示的图,如图4所示:(图4)现在“Choose”旁边的文本框应该显示“Discretize -B 10 -M -0.1 -R first-last”。

如图箭头所示,点击这个文本框会弹出新窗口以修改离散化的参数。

我们需将第1,2,3,4,5,6,7,8,9,10项离散化,其中第一项为id,可移除。

把attributeIndices右边改成“1,2,3,4,5,6,7,8,9,10”。

我们把这两个属性都分成10段,于是把“bins”改成“10”。

其它不变。

点“OK”回到“Explorer”,可以看到“Clump Thickness ”,“Uniformity of Cell Size ”,“Uniformity of Cell Shape”,“Marginal Adhesion ”,“Marginal Adhesion ”,“Bare Nuclei ”,“Bland Chromatin ”,“Normal Nucleoli ”,“Mitoses”,已经被离散化成分类型的属性。

经移除后剩10项属性,其中一项如图5所示,10项属性可视化如图6所示:(图5)(图6)在进行数据搜集和整理的过程中,我们发现如果属性的类型为数值型的话,在做关联分析时将不能得到结果,可以比较图3和图5,图3是数值型,图5 是数据离散化之后的。

因为关联分析无法处理数值型数据,因此,我们进行了数据离散处理后使得需要分析的数据变为分类型,这样就可以关联分析得以顺利进行。

因此通过预处理数据可以提高原数据的质量,清除数据噪声和与挖掘目标无关的数据,为进一步的挖掘工作莫定可靠的基础。

3.3数据分类算法针对这些有关乳腺癌数据集,主要分别采用的分类方法是决策树算法、K 均值算法、朴素贝叶斯分类算法。

由于该数据集有10个属性,则下文中对每个属性进行分类的步骤大致相同,由于篇幅原因,只截取其中两个属性,现在就所选截屏属性作申明,选第一项Clump Thickness (丛厚度))和第九项Mitoses(有丝分裂)。

3.3.1决策树分类用“Explorer”打开刚才得到的“乳腺癌数据集.csv.arff”,并切换到“Class”。

点“Choose”按钮选择“tree(weka.classifiers.trees.j48)”,这是Weka中实现的决策树算法。

选择Cross-Validatioin folds=10,选择图中箭头指向选择属性,然后点击“start”按钮。

得到结果如图7和图8所示:(图7)(图8)这个是针对第一项Clump Thickness丛厚度和第九项Mitoses有丝分裂项运用C4.5决策算法得到误差分析的结果,分析可知总共有699个数据进行分类,Clump Thickness(丛厚度)其中102个为正确分类,正确分类率为26.03726%,517个为错误分类,错误分类为73.9268%。

而第九项Mitoses有丝分裂项也是分析699个数据,其中正确分类有579个数据,正确率为82.8326%,错误分类的有120个,错误分类的有17.1674%。

根据混淆矩阵,被错误分类实例很多,错综复杂,如图9所示:(图9)3.3.2贝叶斯分类在刚才进行决策树分类的的那个页面,点“Choose”按钮选择“bayes”,再选择Cross-Validatioin folds=10,同样选择图中箭头指向选择属性,然后点击“start”按钮:为了与上面决策树作比较,贝叶斯也选择第一项第一项ClumpThickness丛厚度和第九项Mitoses有丝分裂项,得到结果如下图10,11所示:(图10)(图11)这个是针对第一项Clump Thickness丛厚度和第九项Mitoses有丝分裂项运用贝叶斯算法得到误差分析的结果,分析可知总共有699个数据进行分类,Clump Thickness(丛厚度)其中198个为正确分类,正确分类率为28.3262%,501个为错误分类,错误分类为71.6738%。

而第九项Mitoses有丝分裂项其中正确分类有467个数据,正确率为66.8097%,错误分类的有232个,错误分类的有33.1903%。

根据混淆矩阵,被错误分类实例很多,相对来说,Clump Thickness丛厚度用两种方法混淆程度差不多,错综复杂,而Mitoses有丝分裂项用贝叶斯分类明显混淆矩阵要比用决策树方法混淆率要低,中间第六项到就第九项明显混响不是很多,如图12所示。

基于以上两种分析,建议用贝叶斯分类方法分类,降低混淆率,提高正确率。

(图12)3.3.3K最近邻算法分类在刚才进行决策树分类和贝叶斯分类的的的那个页面,点“Choose”按钮选择“laze->ib k”,选择Cross-Validatioin folds=10,然后点击“start”按钮:同样选择图中箭头指向选择属性,然后点击“start”按钮:为了与上面决策树和贝叶斯作比较,K最近邻算法分类也选择第一项Clump Thickness丛厚度和第九项Mitoses有丝分裂项,得到结果如下图13,14所示:(图13)(图14)这个是针对第一项Clump Thickness丛厚度和第九项Mitoses有丝分裂项运用K最近邻算法得到误差分析的结果,分析可知总共有699个数据进行分类,Clump Thickness(丛厚度)其中191个为正确分类,正确分类率为27.3247%,508个为错误分类,错误分类为72.6753%。

相关文档
最新文档