数据分析课程设计论文.docx

上传人:b****5 文档编号:11946816 上传时间:2023-04-16 格式:DOCX 页数:19 大小:47.03KB
下载 相关 举报
数据分析课程设计论文.docx_第1页
第1页 / 共19页
数据分析课程设计论文.docx_第2页
第2页 / 共19页
数据分析课程设计论文.docx_第3页
第3页 / 共19页
数据分析课程设计论文.docx_第4页
第4页 / 共19页
数据分析课程设计论文.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

数据分析课程设计论文.docx

《数据分析课程设计论文.docx》由会员分享,可在线阅读,更多相关《数据分析课程设计论文.docx(19页珍藏版)》请在冰豆网上搜索。

数据分析课程设计论文.docx

数据分析课程设计论文

基于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)&iter

fori=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;

whileiter

move=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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1