数据挖掘聚类问题(Plants Data Set)实验报告 1.数据源描述 1.1 数据特征 本实验用到的是关于植物信息的数据集,其中包含了每一种植物(种类和科属)以及它们生长的地区。数据集中总共有 68 个地区,主要分布在美国和加拿大。一条数据(对应于文件中的一行)包含一种植物(或者某一科属)及其在上述68 个地区中的分布情况。可以这样理解,该数据集中每一条数据包含两部分内容,如下图所示。 图 1 数据格式 例如一条数据:abronia fragrans,az,co,ks,mt,ne,nm,nd,ok,sd,tx,ut,wa,wy。其中abronia fragrans 是植物名称(abronia 是科属,fragrans 是名称),从 az 一直到wy是该植物的分布区域,采用缩写形式表示,如 az 代表的是美国 Arizona 州。植物名称和分布地区用逗号隔开,各地区之间也用逗号隔开。 1.2 任务要求 聚类。采用聚类算法根据某种特征对所给数据集进行聚类分析,对于聚类形成的簇要使得簇内数据对象之间的差异尽可能小,簇之间的差距尽可能大。 2.数据预处理 2.1 数据清理 所给数据集中包含一些对聚类过程无用的冗余数据。数据集中全部数据的组织结构是:先给出某一科属的植物及其所有分布地区,然后给出该科属下的具体植物及其分布地区。例如: abelmoschus,ct,dc,fl,hi,il,ky,la,md,mi,ms,nc,sc,va,pr,vi abelmoschus esculentus,ct,dc,fl,il,ky,la,md,mi,ms,nc,sc,va,pr,vi abelmoschus moschatus,hi,pr 上述数据中第行给出了所有属于abelmoschus 这一科属的植物的分布地区,接下来的两行分别列出了属于abelmoschus 科属的两种具体植物及其分布地区。从中可以看出后两行给出的所有地区的并 集正 是第一行给出的地区集合 。在聚类过程中第行数据是无用的,因 此 要对其进行清理。 植物名称(科属+名称) 分布区域 2.2 数据变换 本实验是依据植物的分布区域进行聚类,所给数据集中的分布区域是字符串形式,不适合进行聚类,因此将其变换成适合聚类的数值形式。具体思想如下: 数据集中总共包含68 个区域,每一种植物的分布区域是这68 个区域中的一部分。本实验中将68 个区域看成是数据对象的68 个属性,这68 个属性是二元类型的变量,其值只能去0 或者1。步骤如下: 1.把68 个区域按一定顺序存放在字符串数组(记为str)中(顺序可以自己定,确定后不能改变)。 2.为数据集中的每个数据对象设置一个长度为68 字符串数组,初始元素值全为0。将数据对象的分布区域逐个与s...