首页 理论教育基于R的实验:iris数据集的聚类分析结果

基于R的实验:iris数据集的聚类分析结果

【摘要】:在实验2.3.2中曾对iris数据集进行描述和展示,在实验2.3.4中曾对iris数据集进行可视化.以下将对iris数据集进行进行聚类分析.根据实验2.3.4,我们只知道数据集内有三个品种鸢尾花而不知道每朵花的真正分类,只能凭借花萼及花瓣的长度和宽度分类.以下对鸢尾花iris数据集进行聚类分析,代码如下:>data(iris);attach(iris)>iris.hc1<-hclust(dist(

在实验2.3.2中曾对iris数据集进行描述和展示,在实验2.3.4中曾对iris数据集进行可视化.以下将对iris数据集进行进行聚类分析

根据实验2.3.4,我们只知道数据集内有三个品种鸢尾花而不知道每朵花的真正分类,只能凭借花萼及花瓣的长度和宽度分类.

以下对鸢尾花iris数据集进行聚类分析,代码如下:

>data(iris);attach(iris)

>iris.hc1<-hclust(dist(iris[,1:4]))

>#plot(iris.hc1,hang=-1)

>plclust(iris.hc1,labels=FALSE,hang=-1)

>re<-rect.hclust(iris.hc1,k=3)(www.chuimin.cn)

>iris.id<-cutree(iris.hc1,3)

>table(iris.id,Species)

结果如图7-1所示.

图7-1 聚类图

在以上代码中,用函数“hclust( )”进行聚类分析,输出结果保存在“iris.hc1”中,用函数“rect.hclust( )”按给定的类的个数(或阈值)进行聚类,并用函数“plclust( )”代替“plot( )”绘制聚类图(两者使用方法基本相同),各类用边框界定,选项“labels=FALSE”只是为了省去数据的标签.函数“cuttree( )”将“iris.hc1”输出编制成3组.

图7-1是将两相近(距离最短)的数据向量连接在一起,然后进一步组合,直至所有数据都连接在一起;函数“cuttree( )”将数据iris分类结果“iris.hc”编为三组,分别以1,2,3表示,保存在“iris.id”中.将“iris.id”与iris中Species作比较发现,1应该是setosa类,2应该是virginica类,3是versicolor.