数据挖掘聚类算法课程设计报告

数据挖掘聚类算法课程设计报告

ID:37085868

大小:230.00 KB

页数:12页

时间:2019-05-17

数据挖掘聚类算法课程设计报告_第1页
数据挖掘聚类算法课程设计报告_第2页
数据挖掘聚类算法课程设计报告_第3页
数据挖掘聚类算法课程设计报告_第4页
数据挖掘聚类算法课程设计报告_第5页
资源描述:

《数据挖掘聚类算法课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.数据挖掘聚类问题(PlantsDataSet)实验报告1.数据源描述1.1数据特征本实验用到的是关于植物信息的数据集,其中包含了每一种植物(种类和科属)以及它们生长的地区。数据集中总共有68个地区,主要分布在美国和加拿大。一条数据(对应于文件中的一行)包含一种植物(或者某一科属)及其在上述68个地区中的分布情况。可以这样理解,该数据集中每一条数据包含两部分内容,如下图所示。植物名称(科属+名称)分布区域图1数据格式例如一条数据:abroniafragrans,az,co,ks,mt,ne,nm,nd,ok,sd,tx,ut,wa,wy。其中abroniafragrans是植物名称(abro

2、nia是科属,fragrans是名称),从az一直到wy是该植物的分布区域,采用缩写形式表示,如az代表的是美国Arizona州。植物名称和分布地区用逗号隔开,各地区之间也用逗号隔开。1.2任务要求聚类。采用聚类算法根据某种特征对所给数据集进行聚类分析,对于聚类形成的簇要使得簇内数据对象之间的差异尽可能小,簇之间的差距尽可能大。2.数据预处理2.1数据清理所给数据集中包含一些对聚类过程无用的冗余数据。数据集中全部数据的组织结构是:先给出某一科属的植物及其所有分布地区,然后给出该科属下的具体植物及其分布地区。例如:abelmoschus,ct,dc,fl,hi,il,ky,la,md,mi,m

3、s,nc,sc,va,pr,viabelmoschusesculentus,ct,dc,fl,il,ky,la,md,mi,ms,nc,sc,va,pr,viabelmoschusmoschatus,hi,pr上述数据中第行给出了所有属于abelmoschus这一科属的植物的分布地区,接下来的..两行分别列出了属于abelmoschus科属的两种具体植物及其分布地区。从中可以看出后两行给出的所有地区的并集正是第一行给出的地区集合。在聚类过程中第行数据是无用的,因此要对其进行清理。2.2数据变换本实验是依据植物的分布区域进行聚类,所给数据集中的分布区域是字符串形式,不适合进行聚类,因此将其变换

4、成适合聚类的数值形式。具体思想如下:数据集中总共包含68个区域,每一种植物的分布区域是这68个区域中的一部分。本实验中将68个区域看成是数据对象的68个属性,这68个属性是二元类型的变量,其值只能去0或者1。步骤如下:1.把68个区域按一定顺序存放在字符串数组(记为str)中(顺序可以自己定,确定后不能改变)。2.为数据集中的每个数据对象设置一个长度为68字符串数组,初始元素值全为0。将数据对象的分布区域逐个与str中的所有元素比较。如果存在于str中下标i的位置,就将该数据对象的字符串数组的第i位置为1。例如,一个数据对象为:abiesfraseri,ga,nc,tn,va。其分布区域包含

5、ga,nc,tn和va四个地区,将这四个地区逐个与str中全部68个元素比较。假设这四个地区分别存在于str中的第0,1,2,3位置,则将为该数据对象设置的字符串数组中第0,1,2,3位置全部置为1。★数据预处理代码(包括数据清理和数据变换):publicArrayListgetRaw_DataSet(){ArrayListraw_dataSet=newArrayList();//定义集合存储从本地获取的数据BufferedReaderbufferedReader=null;FileReaderfileReader=null;FiledataF

6、ile=newFile(this.fileName);if(dataFile.exists()){//如果数据文件存在try{fileReader=newFileReader(this.fileName);bufferedReader=newBufferedReader(fileReader);Stringdata=null;while((data=bufferedReader.readLine())!=null){if(isRightData(data))raw_dataSet.add(data);}}catch(Exceptione){e.printStackTrace();}}else

7、..this.isFileExit=false;returnraw_dataSet;}//getRaw_DataSet,从本地txt文件获取数据集publicArrayListgetFinished_DataSet(){//获取经过预处理,用来进行聚类的数据ArrayListfinished_DataSet=newArrayList();ArrayL

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。