数据分析课程设计论文.docx
《数据分析课程设计论文.docx》由会员分享,可在线阅读,更多相关《数据分析课程设计论文.docx(19页珍藏版)》请在冰豆网上搜索。
![数据分析课程设计论文.docx](https://file1.bdocx.com/fileroot1/2023-4/16/130ea62b-3cd3-4a12-b913-064a500f8cfc/130ea62b-3cd3-4a12-b913-064a500f8cfc1.gif)
数据分析课程设计论文
基于K-均值的Iris数据聚类分析
姓名谢稳
学号22
班级信科14-1
成绩_________________
基于K-均值的Iris数据聚类分析
姓名:
谢稳
信息与计算科学14-1班
摘要数据挖掘在当今大数据新起的时代是一项必须掌握的技能,聚类分析是数据挖掘技术中一项重要的研究课题,在很多领域都有具有广泛的应用,如模式识别、数据分析等。
聚类分析的目的是将数据对象分成若干个类或簇,使得在同一个簇中的对象之间具有较高的相似度,而不同簇中的对象之间相似度较低[5]。
通过聚类分析,人们能够识别出数据分布密集和稀疏的区域,发现全局的分布模式以及数据属性之间一些意想不到的相互关系。
本文对在1936年发表的Iris数据进行数据挖掘,使用聚类分析中的K-Means对该问题进行进一步分析研究。
实验证明两种方法都是适合的解决此类问题的。
关键词Iris数据;聚类分析;K-均值聚类.
1前言
本文对聚类分析的原理进行阐述,并聚类分析中的谱系聚类法和K-means对数据进行了数据分析,得到了几乎相同的结论,数据量太少,回带误差大约是20%。
2数据分析预处理
1.1数据来源
分析的数据来自在1936年发表的Iris数据(见附录B表B.1),据表可知前50个数据为牵牛一类,再50个数据为杂色一类,后50个数据为锦葵一类。
将数据样本X变量放入matlab变量名X,,保存为matlab的huaban.mat文件。
1.2数据分析
采用谱系聚类分析方法和K-means聚类法解决例如Iris类的分类等问题。
3聚类分析
2.1聚类的概述
聚类分析是研究对样品或指标进行分类的一种多元统计方法,是依据研究对象的个体的特征进行分类的方法;聚类分析把分类对象按一定规则分成若干类,这些类非事先指定的,而是根据数据特征确定的。
在同一类中这些对象在某种意义上趋向于彼此相似,而在不同类中趋向于不相似;职能是建立一种能按照样品或变量的相似程度进行分类的方法。
聚类准则为“亲者相聚,疏者相分”。
2.2分类
2.2.1R型聚类分析
R型聚类分析是对变量(指标)的分类,其主要作用:
不但可以了解个别变量之间的亲疏程度,而且可以了解各个变量组合之间的亲疏程度。
2.2.2Q型聚类分析
Q型聚类分析是对样品的分类,其主要作用:
可以综合利用多个变量的信息对样本进行分析;分类结果直观,聚类谱系图清楚地表现数值分类结果;所得结果比传统分类方法更细致、全面、合理。
其常用的统计量是距离。
常用的聚类方法为谱系聚类法等。
2.3谱系聚类法
谱系聚类法是目前应用较为广泛的一种聚类法。
谱系聚类是根据生物分类学的思想对研究对象进行分类的方法。
在生物分类学中,分类的单位是:
门、纲、目、科、属、种。
其中种是分类的基本单位,分类单位越小,它所包含的生物就越少,生物之间的共同特征就越多。
利用这种思想,谱系聚类首先将各样品自成一类,然后把最相似(距离最近或相似系数最大)的样品聚为小类,再将已聚合的小类按各类之间的相似性(用类间距离度量)进行再聚合,随着相似性的减弱,最后将一切子类都聚为一大类,从而得到一个按相似性大小聚结起来的一个谱系图。
2.3.2选择距离(参考文献[1]p209页)
在使用系统聚类法进行聚类的过程中,尤其是Q型聚类是建立在样品之间距离矩阵的基础上的,通常需要对原始数据进行参考点的建立和去量纲化的处理,然后求出样品距离矩阵D,我们采用比较广泛的闵可夫斯基(Minkowski)距离:
当p=2时
即为欧几里得CEuclidean)距离。
然后进行类的搜索、合并于距离矩阵的更新涉及类间距离的计算,需要事先计算类与类之间的距离。
依据类问距离不同的计算方法,我们可以把系统聚类法分为最短距离法、最长距离法、重心法、离差平方和法(ward)等。
设Gp,Gq为前一轮操作中形成的某两个聚类,在本轮操作中归聚为新类
Gr=Gp
Gq则新类Gr与前一轮操作中形成吨,Gq之外的任意一类G,的距离递推公式如下:
最短距离法
其中l
p,q.
最长距离法
其中l
p,q.
中间距离法
-
.
中心距离法
其中,
和
分别为
和
包含的聚类对象个数,
=
+
.
Ward法
注意,Ward法要求初始距离矩阵采用欧式距离公式计算各个对象的距离。
2.4得到闵可夫斯基(Minkowski)距离谱系聚类法函数(见附录A.1)
(1)pdist创建聚类对象的Minkowski距离矩阵。
(2)squarform拉直矩阵D。
(3)linkage用D或其拉直矩阵创建信息矩阵G,默认的类间距离为最短距离法。
(4)dendrogram创建G的谱系聚类图。
(5)cluster创建G的指定个数类。
2.5画谱系聚类图(见图2.1)
图2.1Iris花瓣数据谱系聚类图
2.6得出分类
由图2.1得出Iris花瓣数据截断处可选择d=1,d=0.8,d=0.666对应的分类个数为2,3,5类。
2.7cluster创建G的指定个数类。
(matlab程序见A.3)
2.7.1分3类图(见图2.2)
图2.2谱系聚类分析分为三类图
2.8结论
由图2.2将数据谱系聚类分析分为三类图可知,将数据分为3类不太恰当,应该两类或者5类更合适,不过也有可能是我们选择的距离有问题。
下面K-means我们将更改距离。
4k-均值聚类
3.1K-Means算法思想
1967年Macqueen提出了K-means算法[4],基本思想是把数据集中的数据点随机生成k组,把每组的均值作为中心点。
重新计算每个数据点与各组的中心点的相似性,根据数据点相似性的度量准则,把每个数据点重新分组,计算每组新的均值作为中心点。
不断重复上述过程,直到中心点的均值收敛,停止迭代过程。
K-means算法是一种比较快速的聚类方法,时间复杂度为O(nkt),其中n是数据点的数目,k是分组数目,t是迭代次数。
K-means算法也存在不足,最大问题要指定分组数目并且在运行过程中容易导致局部最优。
3.1.1K-均值算法
K-均值算法是一种已知聚类个数的“无监督学习”算法。
首先指定表示聚类个数的K值,然后对数据集聚类,算法结束时用K个聚类中心表示聚类结果。
对于设定的目标准则函数,通过向目标准则函数值减小的方向进行迭代更新,目标准则函数值达到极小值时算法结束,得到较优的聚类结果。
设数据集为
,
K个距离中心为V1,V2,..,Vk。
令
表示K个聚类的类别,则:
(1)
定义目标准则函数为:
(2)
其中|Ci|表示Ci类包含样本的个数,使用欧式距离
(3)
度量样本间的相似性。
欧式距离适用于类内数据对象符合超球形分布的情况,目标准则函数SSE表示为每个数据对象到相应聚类中心距离的平方和,即聚类均方误差的最小值。
3.1.2K-均值算法的流程如下:
(1)随机选取K个初始聚类中心V1,V2,...,Vk;
(2)按照最小距离原则,对数据集聚类,确定每个样本的类属关系;
(3)使用公式
(1)更新K个簇的中心;
(4)重复执行
(2)到(4),直到目标准则函数收敛或聚类中心稳定。
显然,初始聚类中心对K-均值算法产生很大的影响,簇集中易存在平均误差较大的簇,聚类结果仅能收敛到局部最优。
即使选取不同的初始聚类中心执行多次K-均值算法,也只是在庞大的初值空间里进行简单的搜索,聚类结果很难达到全局最优。
当数据集中存在较多噪音或孤立点时,已有的初始聚类中心优化方法很难发现合适的初始聚类中心。
3.2复合相关系数的计算(计算过程见附录A.4)
分别记最短、最长、类平均、重心、离差平方和距离为G1、G2、G3、G4、G5,相对应的复合相关系数分别记为R1、R2、R3、R4、R5,以欧式距离为样本间距离计算得到表3-1
表3-1复合相关系数
R1
R2
R3
R4
R5
0.8639
0.7276
0.8768
0.8770
0.8728
由表2可知以重心距离进行聚类分析效果应该最为理想
3.3聚类结果(见图3.1)
以重心距离为类间距离进行谱系聚类分析得到(matlab程序参考附录A.1-4)
图3.1谱系聚类图
3.4谱系聚类结果(见图3.2)
图3.2谱系聚类结果
3.4K-Means聚类结果(见图3.3)
图3.3K-Means聚类结果
3.5分析结果
由图3.2结果可得第1类有36个样本,第2类有64个样本,第3类有50个样本,由图3.3可知第1类有62个样本,第2类有49个样本,第3类有39个样本两种方法基本得到的结论基本一致,不过都不太理想。
这可能是数据量太小了的原因。
大数据时代,需要大量的数据。
参考文献
[1]包研科.数据分析教程.北京:
清华大学出版社,2011
[2]曾繁慧.数值分析.徐州:
中国矿业大学出版社,2009
[3]袁方,周志勇,宋鑫.初始聚类中心优化的K-means算发[J].计算机工程,2007,33(3):
65-66
[4]MacQueen,James."Somemethodsforclassificationandanalysisofmultivariateobservations."ProceedingsofthefifthBerkeleysymposiumonmathematicalstatisticsandprobability.Vol.1.No.281-297.1967.
[5]余立强.LAMP架构搭建与网站运行实例[J].网络与信息,2011(8):
50-52
[6]吴夙慧,成颖,郑彦宁,潘云涛.K-means算法研究综述[J].现代图书情报技术,2011,(5):
28-35.
附录
A.1谱系聚类法函数
functionf=test4()
loadhuaban.mat
D=pdist(X,'minkowski');
G=linkage(D);
dendrogram(G);
T=cluster(G,3)
A.2自编k-means聚类分析xwKmeans.m函数
function[cid,nr,centers]=xwKmeans(x,k,nc)
%[CID,NR,CENTERS]=CSKMEANS(X,K,NC)PerformsK-means
%X输入聚合数据
%K通过观察得到的经验分组数据
%每行一个观测,NC为聚类指数,来源于初始的聚类中心值,默认情况下为随机的观测
%输出:
IDX为最终分类
%nr为每个每个聚合的中心值
%CENTERSisamatrix,whereeachrow
%correspondstoaclustercenter.
[n,d]=size(x);
ifnargin<3
ind=ceil(n*rand(1,k));
nc=x(ind,:
)+randn(k,d);
end
cid=zeros(1,n);
oldcid=ones(1,n);
nr=zeros(1,k);
maxiter=100;
iter=1;
while~isequal(cid,oldcid)&iterfori=1:
n
dist=sum((repmat(x(i,:
),k,1)-nc).^2,2);
[m,ind]=min(dist);
cid(i)=ind;
end
fori=1:
k
ind=find(cid==i);
nc(i,:
)=mean(x(ind,:
));
nr(i)=length(ind);
end
iter=iter+1;
end
maxiter=2;
iter=1;
move=1;
whileitermove=0;
fori=1:
n
%找到与所有聚合的距离
dist=sum((repmat(x(i,:
),k,1)-nc).^2,2);
r=cid(i);
dadj=nr./(nr+1).*dist';
[m,ind]=min(dadj);%最小的就是聚合的分类
ifind~=r
cid(i)=ind;
ic=find(cid==ind);
nc(ind,:
)=mean(x(ic,:
));
move=1;
end
end
iter=iter+1;
end
centers=nc;
ifmove==0
disp('初始化聚类后没有点移动')
else
disp('初始化后开始进行聚合分类')
end
cid=cid';
A.3k-means聚类分析分类图matlab的main.m函数
functionf=main(X,k)
[n,d]=size(X);
bn=round(n/k*rand);%第一个随机数在前1/K的范围内
%;表示按列显示,都好表示按行显示
%初始聚类中心
%X(bn,:
)选择某一行数据作为聚类中心,其列值为全部
%X数据源,k聚类数目,nc表示k个初始化聚类中心
%cid表示每个数据属于哪一类,nr表示每一类的个数,centers表示聚类中心
[cid,nr,centers]=xwKmeans(X,k)
fori=1:
150
ifcid(i)==1
plot(X(i,1),X(i,2),'r*')%显示第一类
holdon
else
ifcid(i)==2,
plot(X(i,1),X(i,2),'b*')%显示第二类
plot(X(i,2),'b*')%显示第一类
holdon
else
ifcid(i)==3,
plot(X(i,1),X(i,2),'g*')%显示第三类
%plot(X(i,2),'g*')%显示第一类
holdon
else
ifcid(i)==4,
plot(X(i,1),X(i,2),'k*')%显示第四类
%plot(X(i,2),'k*')%显示第一类
holdon
end
end
end
end
end
text(7.5,3.5,'第一类');
text(5,4,'第二类');
text(5.5,2.5,'第三类');
text(-1,-1,'第四类');
A.4相关系数matllab指令
d=pdist(x);
G1=linkage(d);
G2=linkage(d,’complete’);
G3=linkage(d,’centroid’);
G4=linkage(d,’average’);
G5=linkage(d,’ward’);
R1=cophenet(G1,d);
R2=cophenet(G2,d);
R3=cophenet(G3,d);
R4=cophenet(G4,d);
R5=cophenet(G5,d);
B.1:
在1936年发表的Iris数据
表B.1Iris数据
样本号
萼片长
萼片宽
花瓣长
花瓣宽
种类
1
5.1
3.5
1.4
0.2
牵牛
2
4.9
3
1.4
0.2
牵牛
3
4.7
3.2
1.3
0.2
牵牛
4
4.6
3.1
1.5
0.2
牵牛
5
5
3.6
1.4
0.2
牵牛
6
5.4
3.9
1.7
0.4
牵牛
7
4.6
3.4
1.4
0.3
牵牛
8
5
3.4
1.5
0.2
牵牛
9
4.4
2.9
1.4
0.2
牵牛
10
4.9
3.1
1.5
0.1
牵牛
11
5.4
3.7
1.5
0.2
牵牛
12
4.8
3.4
1.6
0.2
牵牛
13
4.8
3
1.4
0.1
牵牛
14
4.3
3
1.1
0.1
牵牛
15
5.8
4
1.2
0.2
牵牛
16
5.7
4.4
1.5
0.4
牵牛
17
5.4
3.9
1.3
0.4
牵牛
18
5.1
3.5
1.4
0.3
牵牛
19
5.7
3.8
1.7
0.3
牵牛
20
5.1
3.8
1.5
0.3
牵牛
21
5.4
3.4
1.7
0.2
牵牛
22
5.1
3.7
1.5
0.4
牵牛
23
4.6
3.6
1
0.2
牵牛
24
5.1
3.3
1.7
0.5
牵牛
25
4.8
3.4
1.9
0.2
牵牛
26
5
3
1.6
0.2
牵牛
27
5
3.4
1.6
0.4
牵牛
28
5.2
3.5
1.5
0.2
牵牛
29
5.2
3.4
1.4
0.2
牵牛
30
4.7
3.2
1.6
0.2
牵牛
31
4.8
3.1
1.6
0.2
牵牛
32
5.4
3.4
1.5
0.4
牵牛
33
5.2
4.1
1.5
0.1
牵牛
34
5.5
4.2
1.4
0.2
牵牛
35
4.9
3.1
1.5
0.2
牵牛
36
5
3.2
1.2
0.2
牵牛
37
5.5
3.5
1.3
0.2
牵牛
38
4.9
3.6
1.4
0.1
牵牛
39
4.4
3
1.3
0.2
牵牛
40
5.1
3.4
1.5
0.2
牵牛
41
5
3.5
1.3
0.3
牵牛
42
4.5
2.3
1.3
0.3
牵牛
43
4.4
3.2
1.3
0.2
牵牛
44
5
3.5
1.6
0.6
牵牛
45
5.1
3.8
1.9
0.4
牵牛
46
4.8
3
1.4
0.3
牵牛
47
5.1
3.8
1.6
0.2
牵牛
48
4.6
3.2
1.4
0.2
牵牛
49
5.3
3.7
1.5
0.2
牵牛
50
5
3.3
1.4
0.2
牵牛
51
7
3.2
4.7
1.4
杂色
52
6.4
3.2
4.5
1.5
杂色
53
6.9
3.1
4.9
1.5
杂色
54
5.5
2.3
4
1.3
杂色
55
6.5
2.8
4.6
1.5
杂色
56
5.7
2.8
4.5
1.3
杂色
57
6.3
3.3
4.7
1.6
杂色
58
4.9
2.4
3.3
1
杂色
59
6.6
2.9
4.6
1.3
杂色
60
5.2
2.7
3.9
1.4
杂色
61
5
2
3.5
1
杂色
62
5.9
3
4.2
1.5
杂色
63
6
2.2
4
1
杂色
64
6.1
2.9
4.7
1.4
杂色
65
5.6
2.9
3.6
1.3
杂色
66
6.7
3.1
4.4
1.4
杂色
67
5.6
3
4.5
1.5
杂色
68
5.8
2.7
4.1
1
杂色
69
6.2
2.2
4.5
1.5
杂色
70
5.6
2.5
3.9
1.1
杂色
71
5.9
3.2
4.8
1.8
杂色
72
6.1
2.8
4
1.3
杂色
73
6.3
2.5
4.9
1.5
杂色
74
6.1
2.8
4.7
1.2
杂色
75
6.4
2.9
4.3
1.3
杂色
76
6.6
3
4.4
1.4
杂色
77
6.8
2.8
4.8
1.4
杂色
78
6.7
3
5
1.7
杂色
79
6
2.9
4.5
1.5
杂色
80
5.7
2.6
3.5
1
杂色
81
5.5
2.4
3.8
1.1
杂色
82
5.5
2.4
3.7
1
杂色
83
5.8
2.7
3.9
1.2
杂色
84
6
2.7
5.1
1.6
杂色
85
5.4
3
4.5
1.5
杂色
86
6
3.4
4.5
1.6
杂色
87
6.7
3.1
4.7
1.5
杂色
88
6.3
2.3
4.4
1.3
杂色
89
5.6
3
4.1
1.3
杂色
90
5.5
2.5
4
1.3
杂色
91
5.5
2.6
4.4
1.2
杂色
92
6.1
3
4.6
1.4
杂色
93
5.8
2.6
4
1.2
杂色
94
5
2.3
3.3
1
杂色
95
5.6
2.7
4.2
1.3
杂色
96
5.7
3
4.2
1.2
杂色
97
5.7
2.9
4.2
1.3
杂色
98
6.2
2.9
4.3
1.3
杂色
99
5.1
2.5
3
1.1
杂色
100
5.7
2.8
4.1
1.3
杂色
101
6.3
3.3
6
2.5
锦葵
102
5.8
2.7
5.1
1.9
锦葵
103
7.1
3
5.9
2.1
锦葵
104
6.3
2.9
5.6
1.8
锦葵
105
6.5
3
5.8
2.2
锦葵
106
7.6
3
6.6
2.1
锦葵
107
4.9
2.5
4.5
1.7
锦葵
108
7.3
2.9
6.3
1.8
锦葵
109
6.7
2.5
5.8
1.8
锦葵
110
7.2
3.6
6.1
2.5
锦葵
111
6.5
3.2
5.1
2
锦葵
112
6.4
2.7
5.3
1.9
锦葵
113
6.8
3
5.5
2.1
锦葵
114
5.7
2.5
5
2
锦葵
115
5.8
2.8
5.1
2.4
锦葵
116
6.4
3.2
5.3
2.3
锦葵
117
6.5
3
5.5
1.8
锦葵
118
7.7
3.8
6.7
2.2
锦葵
119