matlab聚类算法实例(matlab聚类分析的应用案例)

聚类分析算法聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法,同时也是数据挖掘的一个重要算法。聚类分析是由若干模式组成的,通常,模式是一个度量的向量,聚类分析以相似性为基础,在一个聚类中的模式之间比不在同一聚类中的模式之间具有更多

聚类分析算法

聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法,同时也是数据挖掘的一个重要算法。聚类分析是由若干模式组成的,通常,模式是一个度量的向量,聚类分析以相似性为基础,在一个聚类中的模式之间比不在同一聚类中的模式之间具有更多的相似性。

对于聚类算法,大多数用SPSS软件实现,通常导入数据,并且选择聚类方法即可实现,本节借用MATLAB软件,基于14种不同的聚类分析方法,实现样品聚类。

14种聚类方法

(1)最长距离法

X=[16.21492 2000 -8.2 6.2;
15.7 970 2209 -20.6 1.9;
16.3 1260 2085 -17.3 2.8;
17.2 14221726 -9.5 4.6;
18.8 1874 1709 -4.9 8.0;
17.9 1698 1848 -4.5 7.5;
16.3 976 1239-4.6 5.6];
D=pdist(X,\'euclid\');
M=squareform(D);
Z=linkage(D,\'complete\');
H=dendrogram(Z);
xlabel(\'City\');
ylabel(\'Scale\');
C=cophenet(Z,D);
T=cluster(Z,3);

matlab聚类算法实例(matlab聚类分析的应用案例)

(2) 最短距离法

X=[16.21492 2000 -8.2 6.2;
15.7 970 2209 -20.6 1.9;
16.3 1260 2085 -17.3 2.8;
17.2 14221726 -9.5 4.6;
18.8 1874 1709 -4.9 8.0;
17.9 1698 1848 -4.5 7.5;
16.3 976 1239-4.6 5.6];
D=pdist(X,\'euclid\');
M=squareform(D);
Z=linkage(D,\'single\')
;H=dendrogram(Z);
xlabel(\'City\');
ylabel(\'Scale\');
C=cophenet(Z,D);
T=cluster(Z,\'cutoff\',0.8);

matlab聚类算法实例(matlab聚类分析的应用案例)

(3)综合聚类子程序

X=[16.21492 2000 -8.2 6.2;
15.7 970 2209 -20.6 1.9;
16.3 1260 2085 -17.3 2.8;
17.2 14221726 -9.5 4.6;
18.8 1874 1709 -4.9 8.0;
17.9 1698 1848 -4.5 7.5;
16.3 976 1239-4.6 5.6];
T=clusterdata(X,0.8);
Re=find(T=5)

(4)重心法&标准欧氏距离

S=[\'福冈\';\'合肥\';\'武汉\';\'长沙\';\'桂林\';\'温州\';\'成都\'];
X=[16.21492 2000 -8.2 6.2;
15.7 970 2209 -20.6 1.9;
16.3 1260 2085 -17.3 2.8;
17.2 14221726 -9.5 4.6;
18.8 1874 1709 -4.9 8.0;
17.9 1698 1848 -4.5 7.5;
16.3 976 1239-4.6 5.6];
D=pdist(X,\'seuclid\');
M=squareform(D);
Z=linkage(D,\'centroid\');
H=dendrogram(Z,\'labels\',S);
xlabel(\'City\');
ylabel(\'Scale\');
C=cophenet(Z,D);
T=cluster(Z,3);

matlab聚类算法实例(matlab聚类分析的应用案例)

(5)重心法&欧氏距离平方

S=[\'福冈\';\'合肥\';\'武汉\';\'长沙\';\'桂林\';\'温州\';\'成都\'];
X=[16.21492 2000 -8.2 6.2;
15.7 970 2209 -20.6 1.9;
16.3 1260 2085 -17.3 2.8;
17.2 14221726 -9.5 4.6;
18.8 1874 1709 -4.9 8.0;
17.9 1698 1848 -4.5 7.5;
16.3 976 1239-4.6 5.6];
D=pdist(X,\'euclid\');
D2=D.^2;
M=squareform(D2);
Z=linkage(D2,\'centroid\');
H=dendrogram(Z,\'labels\',S);
xlabel(\'City\');
ylabel(\'Scale\');
C=cophenet(Z,D2);
T=cluster(Z,3);

matlab聚类算法实例(matlab聚类分析的应用案例)

(6)重心法&精度加权距离

S=[\'福冈\';\'合肥\';\'武汉\';\'长沙\';\'桂林\';\'温州\';\'成都\'];
X=[16.21492 2000 -8.2 6.2;
15.7 970 2209 -20.6 1.9;
16.3 1260 2085 -17.3 2.8;
17.2 14221726 -9.5 4.6;
18.8 1874 1709 -4.9 8.0;
17.9 1698 1848 -4.5 7.5;
16.3 976 1239-4.6 5.6];
[n,m]=size(X);
stdx=std(X);
X2=X./stdx(ones(n,1),:);
D=pdist(X2,\'euclid\');
M=squareform(D);
Z=linkage(D,\'centroid\');
H=dendrogram(Z,\'labels\',S);
xlabel(\'City\');
ylabel(\'Scale\');
C=cophenet(Z,D);
T=cluster(Z,3);

matlab聚类算法实例(matlab聚类分析的应用案例)

(7)最短距离法&基于主成分的标准欧式距离

S=[\'福冈\';\'合肥\';\'武汉\';\'长沙\';\'桂林\';\'温州\';\'成都\'];
X=[16.21492 2000 -8.2 6.2;
15.7 970 2209 -20.6 1.9;
16.3 1260 2085 -17.3 2.8;
17.2 14221726 -9.5 4.6;
18.8 1874 1709 -4.9 8.0;
17.9 1698 1848 -4.5 7.5;
16.3 976 1239-4.6 5.6];
[E,score,eigen,T]=princomp(X);
D=pdist(score,\'seuclid\');
M=squareform(D);
Z=linkage(D,\'single\');
H=dendrogram(Z,\'labels\',S);
xlabel(\'City\');
ylabel(\'Scale\');
C=cophenet(Z,D);
T=cluster(Z,3);

matlab聚类算法实例(matlab聚类分析的应用案例)

(8)平均法&标准欧式距离

S=[\'福冈\';\'合肥\';\'武汉\';\'长沙\';\'桂林\';\'温州\';\'成都\'];
X=[16.21492 2000 -8.2 6.2;
15.7 970 2209 -20.6 1.9;
16.3 1260 2085 -17.3 2.8;
17.2 14221726 -9.5 4.6;
18.8 1874 1709 -4.9 8.0;
17.9 1698 1848 -4.5 7.5;
16.3 976 1239-4.6 5.6];
D=pdist(X,\'seuclid\');
M=squareform(D);
Z=linkage(D,\'average\');
H=dendrogram(Z,\'labels\',S);
xlabel(\'City\');
ylabel(\'Scale\');
C=cophenet(Z,D);
T=cluster(Z,3);

matlab聚类算法实例(matlab聚类分析的应用案例)

(9)权重法&标准欧式距离

S=[\'福冈\';\'合肥\';\'武汉\';\'长沙\';\'桂林\';\'温州\';\'成都\'];
X=[16.21492 2000 -8.2 6.2;
15.7 970 2209 -20.6 1.9;
16.3 1260 2085 -17.3 2.8;
17.2 14221726 -9.5 4.6;
18.8 1874 1709 -4.9 8.0;
17.9 1698 1848 -4.5 7.5;
16.3 976 1239-4.6 5.6];
D=pdist(X,\'seuclid\');
M=squareform(D);
Z=linkage(D,\'weighted\');
H=dendrogram(Z,\'labels\',S);
xlabel(\'City\');
ylabel(\'Scale\');
C=cophenet(Z,D);
T=cluster(Z,3);

matlab聚类算法实例(matlab聚类分析的应用案例)

(10)最短距离法&马氏距离

S=[\'福冈\';\'合肥\';\'武汉\';\'长沙\';\'桂林\';\'温州\';\'成都\'];
X=[16.21492 2000 -8.2 6.2;
15.7 970 2209 -20.6 1.9;
16.3 1260 2085 -17.3 2.8;
17.2 14221726 -9.5 4.6;
18.8 1874 1709 -4.9 8.0;
17.9 1698 1848 -4.5 7.5;
16.3 976 1239-4.6 5.6];
D=pdist(X,\'mahal\');M=squareform(D);Z=linkage(D,\'single\');H=dendrogram(Z,\'labels\',S);xlabel(\'City\');ylabel(\'Scale\');C=cophenet(Z,D);T=cluster(Z,3);

matlab聚类算法实例(matlab聚类分析的应用案例)

(11)重心法&标准化数据的的欧式距离

S=[\'福冈\';\'合肥\';\'武汉\';\'长沙\';\'桂林\';\'温州\';\'成都\'];
X=[16.21492 2000 -8.2 6.2;
15.7 970 2209 -20.6 1.9;
16.3 1260 2085 -17.3 2.8;
17.2 14221726 -9.5 4.6;
18.8 1874 1709 -4.9 8.0;
17.9 1698 1848 -4.5 7.5;
16.3 976 1239-4.6 5.6];
[n,m]=size(X);
mv=mean(X);
st=std(X);
x=(X-mv(ones(n,1),:))./st(ones(n,1),:);
D=pdist(X,\'euclid\');
M=squareform(D);
Z=linkage(D,\'centroid\');
H=dendrogram(Z,\'labels\',S);
xlabel(\'City\');
ylabel(\'Scale\');
C=cophenet(Z,D);
T=cluster(Z,3);

matlab聚类算法实例(matlab聚类分析的应用案例)

(12)最长距离法&欧式距离

S=[\'福冈\';\'合肥\';\'武汉\';\'长沙\';\'桂林\';\'温州\';\'成都\'];
X=[16.21492 2000 -8.2 6.2;
15.7 970 2209 -20.6 1.9;
16.3 1260 2085 -17.3 2.8;
17.2 14221726 -9.5 4.6;
18.8 1874 1709 -4.9 8.0;
17.9 1698 1848 -4.5 7.5;
16.3 976 1239-4.6 5.6];
D=pdist(X,\'euclid\');
M=squareform(D);
Z=linkage(D,\'complete\');
[H tPerm]=dendrogram(Z,\'labels\',S);
xlabel(\'City\');
ylabel(\'Scale\');
C=cophenet(Z,D);
T=cluster(Z,3);

matlab聚类算法实例(matlab聚类分析的应用案例)

(13)平均法&相似系数

S=[\'福冈\';\'合肥\';\'武汉\';\'长沙\';\'桂林\';\'温州\';\'成都\'];
X=[16.21492 2000 -8.2 6.2;
15.7 970 2209 -20.6 1.9;
16.3 1260 2085 -17.3 2.8;
17.2 14221726 -9.5 4.6;
18.8 1874 1709 -4.9 8.0;
17.9 1698 1848 -4.5 7.5;
16.3 976 1239-4.6 5.6];
D=pdist(X,\'cosine\');
M=squareform(D);
Z=linkage(D,\'centroid\');
T=dendrogram(Z,\'labels\',S);
xlabel(\'City\');
ylabel(\'Scale\');
C=cophenet(Z,D);
T=cluster(Z,3);

matlab聚类算法实例(matlab聚类分析的应用案例)

(14)最短距离法&基于主成分的标准欧式距离

S=[\'福冈\';\'合肥\';\'武汉\';\'长沙\';\'桂林\';\'温州\';\'成都\'];
X=[16.21492 2000 -8.2 6.2;
15.7 970 2209 -20.6 1.9;
16.3 1260 2085 -17.3 2.8;
17.2 14221726 -9.5 4.6;
18.8 1874 1709 -4.9 8.0;
17.9 1698 1848 -4.5 7.5;
16.3 976 1239-4.6 5.6];
[E,score,eigen,T]=princomp(X);
PCA=[score(:,1),score(:,2)];
D=pdist(PCA,\'seuclid\');
M=squareform(D);
Z=linkage(D,\'single\');
H=dendrogram(Z,\'labels\',S);
xlabel(\'City\');
ylabel(\'Scale\');
C=cophenet(Z,D);
T=cluster(Z,3);

matlab聚类算法实例(matlab聚类分析的应用案例)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/25228.html

(0)
nan
上一篇 2021-09-14
下一篇 2021-09-14

相关推荐

  • 如何注册空间和域名备案(网站备案是备案域名还是空间)

    如何注册空间和域名备案,网站备案是备案域名还是空间内容导航:怎么注册域名怎么申请网站空间域名空间如何备案我用的是国外空间注册国内域名建站需要备案什么的么国外注册的域名能备案吗一、怎么注册域名怎么申请网站空间1.域名注册步骤:首先要挑选注册商,目前比较主流的注册商有易名中国、新网还有万网等较大的域名注册商。首先要在他们的网站上注册帐号,然后查询每一种域名的价格(这价格是不一定的,有时运气好遇

    2022-04-27
    0
  • amd7700x和5900x哪个好

    有很多小伙伴在选择CPU的时候,纠结AMD7700x和5900x哪款处理器比较好一点,该选择哪一个,其实这两款芯片中,7700x的性能要比5900x的性能好一些。amd7700x和5900x哪个好:答:AMD 7700x。AMD 7700x的最大运行温度达到95°比5900x高五°,同时7700x具有集成显卡,涡轮时钟速度比5900快0.6Hz,第二层快取存储器比5900x大2MB。AMD 590

    2024-01-30
    0
  • Flume与Hadoop生态系统怎么集成

    Flume是一个分布式、可靠的日志收集系统,而Hadoop是一个用于存储和处理大规模数据的开源框架。Flume与Hadoop生态系统可以很容易地集成在一起,以实现数据采集、传输和存储的完整流程。一种常见的集成方式是使用Flume将数据收集并传输到Hadoop的HDFS(Hadoop分布式文件系统)中。通过将Flume的HDFS Sink配置为将数据写入HDFS,可以将数据直接加载到Hadoop集

    2024-03-29
    0
  • java去除字符串空格的方法是什么

    在Java中,可以使用以下方法去除字符串中的空格:使用 trim() 方法去除字符串两端的空格:String str = ” hello world “;String trimmedStr = str.trim();System.out.println(trimmedStr); // 输出: “hello world”使用 replaceAll() 方法去除字符串中所有空格:String

    2024-03-13
    0
  • php中static的用法是什么

    在PHP中,static关键字用于声明静态属性和静态方法。静态属性和静态方法可以在不实例化类的情况下直接访问,而非静态属性和方法需要通过实例化类来访问。静态属性在整个类中是共享的,所有实例化的对象都可以访问和修改它。静态方法也是类的一部分,不属于任何实例化对象,可以通过类名直接调用。以下是一个使用static关键字的示例:class MyClass {public static $stati

    2024-02-20
    0
  • Lua中怎么定义全局变量

    在Lua中定义全局变量非常简单,只需要在变量名前不加任何关键字即可将其定义为全局变量。例如:myGlobalVar = 10在上面的例子中,myGlobalVar被定义为一个全局变量,可以在任何地方访问和修改它。值得注意的是,如果在函数内部定义了一个变量但没有加上local关键字,那么该变量也会被认为是全局变量。

    2024-04-09
    0

发表回复

登录后才能评论