首页 > 其他分享 >MATLAB实战|基于14种不同的聚类分析方法

MATLAB实战|基于14种不同的聚类分析方法

时间:2022-11-10 10:09:08浏览次数:86  
标签:4.6 14 1260 6.2 16.3 MATLAB 7.5 14221726 聚类分析


MATLAB实战|基于14种不同的聚类分析方法_聚类分析



聚类分析算法



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

对于聚类算法,大多数用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实战|基于14种不同的聚类分析方法_聚类分析_02

(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实战|基于14种不同的聚类分析方法_聚类分析_03

(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实战|基于14种不同的聚类分析方法_聚类分析_04

(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实战|基于14种不同的聚类分析方法_聚类分析_05

(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实战|基于14种不同的聚类分析方法_最短距离_06

(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实战|基于14种不同的聚类分析方法_最短距离_07

(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实战|基于14种不同的聚类分析方法_最短距离_08

(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实战|基于14种不同的聚类分析方法_最短距离_09

(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实战|基于14种不同的聚类分析方法_最短距离_10

(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实战|基于14种不同的聚类分析方法_聚类_11

(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实战|基于14种不同的聚类分析方法_聚类分析_12

(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实战|基于14种不同的聚类分析方法_聚类分析_13

(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实战|基于14种不同的聚类分析方法_最短距离_14


MATLAB实战|基于14种不同的聚类分析方法_聚类分析_15

标签:4.6,14,1260,6.2,16.3,MATLAB,7.5,14221726,聚类分析
From: https://blog.51cto.com/u_15828536/5839641

相关文章

  • POJ-1417(带权并查集+01背包+回溯)
    TrueLiars题目描述:Peter有一个王国。在这个王国里,一共有2种人,即诚实人和撒谎人。诚实人永远说真话,撒谎人永远说假话。可惜的是,Peter只记得诚实人的数量和撒谎人的数量......
  • VS+Qt - Visual Studio2017+Qt5.14安装配置教程
    转载自:https://zhuanlan.zhihu.com/p/351084915简介1、VisualStudio是一个集成开发IDE:集成开发环境(IDE,IntegratedDevelopmentEnvironment)是用于提供程序开发环境的......
  • 【增量中继】基于增量中继与机会中继的协同通信的matlab仿真
    1.软件版本matlab2013b2.系统描述在近年来提出的协同通信方案中,机会中继(OR,OpportunisticRelaying)是比较合理和可行的一种方案。它是一种分布式的单中继方案,其独特之......
  • P1493 分梨子
    \(\large\texttt{Link}\)以前写过本题,现在写篇题解记录一下。\(c_1(a_i-a_0)+c_2(b_i-b_0)\leqslantc_3\iffc_1a_i+c_2b_i\leqslantc_3+c_1a_0+c_2b_0\)左边是个常......
  • UVALive 7148 LRIP
    2014年上海区域赛的K题,树上点分治,查找差值小于等于D的非严格单调序列的最长长度。对于每个点,维护从该点出发的上升序列同长度的最小值和下降序列的同长度最大值,二分之前的得......
  • ACdream 1427 Nice Sequence
    Description    Letusconsiderthesequencea1, a2,..., an ofnon-negativeintegernumbers.Denoteasci,j thenumber ofoccurrencesofthenumber......
  • ACdream 1430 SETI
    Description   AmateurastronomersTomandBobtrytofindradiobroadcastsofextraterrestrialcivilizationsinthe air.Recentlytheyreceivedsomes......
  • ACdream 1429 Rectangular Polygon
    Description   Arectangularpolygonisapolygonwhoseedgesareallparalleltothecoordinateaxes.Thepolygon musthaveasingle,non-intersecting......
  • HDU 1403 Longest Common Substring
    ProblemDescriptionGiventwostrings,youhavetotellthelengthoftheLongestCommonSubstringofthem.Forexample:str1=bananastr2=ciana......
  • 14.requests
    requestspython中原生的一款基于网络请求的模块,功能强大,代码简便,效率极高作用:模拟浏览器发送请求,并且接收响应数据注意:requests是第三方模块,使用时需要下载pipinsta......