Advertisement

系统聚类法 - 数据挖掘算法(4)

阅读量:

copyright.gif(2017-04-17 银河统计)

聚类分析又称群分析,它是研究(样品或指标)分类问题的一种多元统计方法,也是数据挖掘技术的基本方法。所谓类,通俗地说,就是指相似元素的集合。聚类分析起源于分类学,在考古的分类学中,人们主要依靠经验和专业知识来实现分类。随着生产技术和科学的发展,人类的认识不断加深,分类越来越细,要求也越来越高,有时光凭经验和专业知识是不能进行确切分类的,往往需要定性和定量分析结合起来去分类,于是数学工具逐渐被引进分类学中,形成了数值分类学。后来随着多元分析的引进,聚类分析又逐渐从数值分类学中分离出来而形成一个相对独立的分支。

聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。这里介绍常用的系统聚类法。

正如样本之间的距离可以有不同的定义方法一样(欧氏距离、曼哈顿距离、马氏距离等),类与类之间的距离也有各种定义。例如可以定义类与类之间的距离为两类之间最近样本的距离,或者定义为两类之间最远样本的距离,也可以定义为两类重心之间的距离等等。类与类之间用不同的方法定义距离,就产生了不同的系统聚类方法。常用的八种系统聚类方法,即最短距离法、最长距离法、中间距离法、重心法、类平均法、可变类平均法、可变法、离差平方和法。系统聚类分析尽管方法很多,但归类的步骤基本上是一样的,所不同的仅是类与类之间的距离有不同的定义方法,从而得到不同的计算距离的公式。

一、系统聚类分析涉及的基本问题

现有10名学生六门课程成绩样本表(附表I)如下:

样本(学生) 概率论 统计学 英语 政治 数据挖掘 线性代数
S_1 67 63 73 75 44 91
S_2 74 69 66 94 81 55
S_3 76 93 93 79 71 27
S_4 65 38 85 85 61 45
S_5 80 39 48 75 41 52
S_6 72 80 70 88 86 43
S_7 60 50 91 95 42 64
S_8 77 49 69 50 89 55
S_9 65 89 50 70 99 85
S_{10} 78 41 55 89 71 28

1、样本间距离及距离矩阵

以欧氏距离为例,样本S_1S_3之间的距离D_{13}的距离为,

样本S_iS_j之间的距离D_{ij}的距离构成的矩阵表(附表II)为,

D_{ij} S_1 S_2 S_3 S_4 S_5 S_6 S_7 S_8 S_9 S_{10}
S_1 0 56.21 78.88 57.25 53.85 67.53 40.93 65.25 65.54 76.31
S_2 56.21 0 49.17 44.54 56.83 18.60 52.77 49.17 50.37 42.13
S_3 78.88 49.17 0 60.58 80.61 35.72 67.64 66.80 78.84 65.22
S_4 57.25 44.54 60.58 0 46.30 51.73 32.05 51.28 84.23 38.51
S_5 53.85 56.83 80.61 46.30 0 67.11 53.99 59.06 84.89 41.58
S_6 67.53 18.60 35.72 51.73 67.11 0 62.54 50.83 52.79 47.26
S_7 40.93 52.77 67.64 32.05 53.99 62.54 0 71.34 86.85 62.24
S_8 65.25 49.17 66.80 51.28 59.06 50.83 71.34 0 59.20 53.25
S_9 65.54 50.37 78.84 84.23 84.89 52.79 86.85 59.20 0 83.02
S_{10} 76.31 42.13 65.22 38.51 41.58 47.26 62.24 53.25 83.02 0

2、按样本间距离矩阵最小距离聚类

样本间距离矩阵为对称矩阵,即D_{ij}=D_{ji},并且对角线距离为0,即D_{ii}=0。所以,样本间距离矩阵最小距离只在下三角矩阵中寻找即可。表中D_{26}=18.60为最小距离,说明样本S_2S_6相似性最大,可以首先归为同一类。把样本和做为新类,计算新类和其它类距离,然后在降维距离矩阵中选择最小距离、再归类,直至把所有样本归为一类。

3、类与类之间的距离

我们可以把每个样本看成一个类,也可以把具有某种共同特征的几个样本分为一类,如按距离最小将样本和归为一类。当按某种距离公式(如欧氏距离)计算出两两样本间距离矩阵后,在距离矩阵基础上,多个样本和一个样本、或多个样本和多个样本之间的距离称为类与类之间的距离。

如果把样本和分为一类、即C_1\{S_2,S_6\},再把样本S_7S_8S_9分为一类、即C_2\{S_7,S_8,S_9\}C_1C_2之间的距离称为类间距离。

二、系统聚类方法

为了分析问题简便,将5名学生3门课程成绩样本(附表III)进行系统聚类分析。样本数据为,

样本(学生) 概率论 统计学 英语
S_1 67 63 73
S_2 74 69 66
S_3 76 93 93
S_4 65 38 85
S_5 80 39 48

样本和之间的距离的距离构成的矩阵表(附表IV)为,

D_{ij} S_1 S_2 S_3 S_4 S_5
S_1
S_2 56.21
S_3 78.88 49.17
S_4 57.25 44.54 60.58
S_5 53.85 56.83 80.61 46.30

1、最短距离法

根据距离矩阵(附表IV),按距离最小(最小距离44.54)将样本和S_4归为一类。在矩阵表中将设置为第1行第1列,划去、对应行列,并计算和其它样本或类之间的最短距离,得矩阵表如下,

D_{ij} C_1(2,4) S_1 S_3 S_5
C_1(2,4)
S_1 56.21
S_3 49.17 78.88
S_5 46.30 53.85 80.61

表中类和样本之间的最短距离为,min\{D_{12},D_{14}\}=min\{56.21,57.25\}=56.21,和其它样本之间的最短距离同理。

现在距离矩阵中和S_5最小距离为46.30,将两样本聚类为C_2(2,4,5),在矩阵表中将设置为第1行第1列,划去、对应行列,并计算和其它样本或类之间的最短距离,得矩阵表如下,

D_{ij} C_2(2,4,5) S_1 S_3
C_2(2,4,5)
S_1 53.85
S_3 49.17 78.88

表中和最短距离为,min\{D_{12},D_{14},D_{15}\}=min\{56.21.57.25,53.85\}=53.85

按最小距离49.17将、聚类为C_3(2,3,4,5)

D_{ij} C_3(2,3,4,5) S_1
C_3(2,3,4,5)
S_1 53.85

表中和最短距离为,min\{D_{12},D_{13},D_{14},D_{15}\}=min\{56.21,78.88,57.25,53.85\}=53.85

最后,和聚为一类。

上述并类过程可用下图表达,
cluster.png

2、最长距离法

最长距离和最短距离方法的唯一区别是取类间各样本距离集合的最大值。例如,类C_1(S_2,S_6)C_2(S_8,S_9,S_{10})之间的距离矩阵为,

D_{ij} S_8 S_9 S_{10}
S_2 49.17 50.37 42.13
S_6 50.83 52.79 47.26

距离矩阵中最大距离为52.79,最小距离为42.13。运用最短距离法取最短距离42.13,而用最长距离法则取最大距离52.79。

根据距离矩阵(附表IV),按距离最小(最小距离44.54)将样本和归为一类。在矩阵表中将设置为第1行第1列,划去、对应行列,并计算和其它样本或类之间的最长距离,得矩阵表如下,

D_{ij} C_1(2,4) S_1 S_3 S_5
C_1(2,4)
S_1 57.25
S_3 60.58 78.88
S_5 56.83 53.85 80.61

类和样本之间的最长距离为,max\{D_{12},D_{14}\}=max\{56.21,57.25\}=57.25,。其它样本之间的最长距离同理。

按最小距离53.85将、聚类为C_2(1,5)

D_{ij} C_2(1,5) C_1(2,4) S_3
C_2(1,5)
C_1(2,4) 57.25
S_3 80.61 60.58

类和类之间的最长距离为,max\{D_{12},D_{14},D_{52},D_{54}\}=max\{56.21,57.25,56.83,46.30\}=57.25。和最长距离为,max\{D_{31},D_{35}\}=max\{78.88,80.61\}=80.61

按最小距离57.25将、聚类为C_3(1,2,4,5)

D_{ij} C_3(1,2,4,5) S_3
C_3(1,2,4,5)
S_3 80.61

上述并类过程可用下图表达,
![cluster1.png](data:)

3、中间距离法

类间中间距离采用“二和一”方式逐渐包含不同数量样本的类合为一类(这里为类G_r)。如果在某一步将类G_p与类G_q合并为,任一类G_k和的中间距离公式为:

例如,设\beta=-\frac{1}{4},样本和为一类C_r,和样本的中间距离为,
cluster21.png

当时,由初等几何知D_{kr}就是上面三角形的中线。由于中间距离公式中的量都是距离的平方,为了计算方便,可将距离矩阵(附表IV)各距离换算为平方。转换后距离矩阵如下,

D_{ij} S_1 S_2 S_3 S_4 S_5
S_1
S_2 3159.56
S_3 6222.05 2417.69
S_4 3277.56 1983.81 3669.94
S_5 2899.82 3229.65 6497.97 2143.69

按距离最小(最小距离平方为1983.81)将样本和归为一类。在矩阵表中将设置为第1行第1列,划去、对应行列,并计算和其它样本或类之间的中间距离,得矩阵表如下,

D_{ij} C_r(2,4) S_1 S_3 S_5
C_r(2,4)
S_1 2722.61
S_3 2547.86 6222.05
S_5 2190.72 2899.82 6497.97

表中,按中间距离公式,

按最小距离平方2190.72将C_r(2,4)、聚类为C_s(2,4,5)

D_{ij} C_s(2,4,5) S_1 S_3
C_r(2,4,5)
S_1 2263.54
S_3 3975.24 6222.05

表中,按中间距离公式,

按最小距离平方2263.54将、聚类为C_t(1,2,4,5)

D_{ij} C_t(1,2,4,5) S_3
C_t(1,2,4,5)
S_3 6222.05

上述并类过程可用下图表达,
cluster22.png

4、重心法

根据(附表I)数据,利用重心法计算类和C_2\{S_8,S_9,S_{10}\}之间的距离,只需计算出各个类的重心坐标,然后计算重心坐标的欧氏距离或其它距离。

样本S_2(74,69,66,94,81,55)S_6(72,80,70,88,86,43)的重心为,

样本S_8(77,49,69,50,89,55)S_9(65,89,50,70,99,85)S_{10}(78,41,55,89,71,28)的重心为,

两个重心之间的欧氏距离为,

根据距离矩阵(附表IV),按距离最小(最小距离44.54)将样本和归为一类。在矩阵表中将设置为第1行第1列,划去、对应行列,并计算和其它样本或类之间的重心距离,得矩阵表如下,

D_{ij} C_r(2,4) S_1 S_3 S_5
C_r(2,4)
S_1 10.14
S_3 43.69 78.88
S_5 32.81 53.85 80.61

表中,类的重心坐标为,

类重心和样本之间的欧氏距离为,

和其它样本之间的重心距离同理。

按最小距离10.14将、聚类为C_s(1,2,4)

D_{ij} C_s(1,2,4) S_3 S_5
C_s(1,2,4)
S_3 41.35
S_5 33.94 80.61

表中,类C_s的重心坐标为,

类和样本、之间重心的欧氏距离为,

按最小距离33.94将、聚类为,

D_{ij} C_t(1,2,4,5) S_3
C_t(1,2,4,5)
S_3 41.35

上述并类过程可用下图表达,
cluster3.png

如果最初样品之间的距离采用欧氏距离,重心法聚类到某一步, 类和分别有样本n_{_p}n_{_q}个,将和合并为,则内样本个数为n_{_r}=n_{_p}+n_{_q},某一类n_{_k}与新类的距离为,

5、类平均法

当聚类到某一步时,类和分别有样本和个,将和合并为,则内样本个数为,某一类与新类的类平均距离公式为,

根据距离矩阵(附表IV),按距离最小(最小距离44.54)将样本和归为一类。在矩阵表中将设置为第1行第1列,划去、对应行列,并计算和其它样本或类之间的类平均距离,得矩阵表如下,

D_{ij} C_r(2,4) S_1 S_3 S_5
C_r(2,4)
S_1 56.73
S_3 55.15 78.88
S_5 51.83 53.85 80.61

表中,由类平均距离公式,

按最小距离51.83将、聚类为,

D_{ij} C_s(2,4,5) S_1 S_3
C_s(2,4,5)
S_1 55.79
S_3 64.76 78.88

表中,

按最小距离55.79将、聚类为,

D_{ij} C_t(1,2,4,5) S_3
C_t(1,2,4,5)
S_3 78.88

上述并类过程可用下图表达,
cluster4.png

6、可变类平均法

由于类平均法公式中没有反映和之间距离D_{pq}的影响,所以给出可变类平均法。此法定义两类之间的距离同上,只是将任一类与新类的距离改为如下形式:

其中\beta是可变的且\beta<1

这里设,根据距离矩阵(附表IV),按距离最小(最小距离44.54)将样本和归为一类。在矩阵表中将设置为第1行第1列,划去、对应行列,并计算和其它样本或类之间的类平均距离,得矩阵表如下,

D_{ij} C_r(2,4) S_1 S_3 S_5
C_r(2,4)
S_1 59.39
S_3 57.52 78.88
S_5 53.50 53.85 80.61

表中,

按最小距离53.50将、聚类为,

D_{ij} C_s(2,4,5) S_1 S_3
C_s(2,4,5)
S_1 58.58
S_3 68.91 78.88

表中,

按最小距离58.58将、聚类为,

D_{ij} C_t(1,2,4,5) S_3
C_t(1,2,4,5)
S_3 68.91

上述并类过程可用下图表达,
cluster5.png

7、可变法

如果在某一步将类与类合并为,任一类和的中间距离公式为:

其中是可变的且。显然在可变类平均法中取\frac{n_{_p}}{n_{_r}}=\frac{n_{_q}}{n_{_r}}=\frac{1}{2},即为上式。可变类平均法与可变法的分类效果与 的选择关系极大,如果接近1,一般分类效果不好.在实际应用中常取负值。下面的计算取。

根据距离矩阵(附表IV),按距离最小(最小距离44.54)将样本和归为一类。在矩阵表中将设置为第1行第1列,划去、对应行列,并计算和其它样本或类之间的可变距离,得矩阵表如下,

D_{ij} C_r(2,4) S_1 S_3 S_5
C_r(2,4)
S_1 59.39
S_3 57.52 78.88
S_5 53.50 53.85 80.61

表中,

按最小距离53.50将、聚类为,

D_{ij} C_s(2,4,5) S_1 S_3
C_s(2,4,5)
S_1 57.46
S_3 73.58 78.88

表中,

按最小距离57.46将、聚类为,

D_{ij} C_t(1,2,4,5) S_3
C_t(1,2,4,5)
S_3 73.58

上述并类过程可用下图表达,
cluster6.png

8、离差平方和法

这个方法是Ward提出来的,故又称为Ward法。

设将n个样品分成k类:G_1,G_2,\dots,Gk, 用X_i^{(t)}表示G_t中的第i个样品(注意是p维向量),n_{_t}表示中的样品个数,\overline{X}^{(t)}是的重心,则中样品的离差平方和为:

例如,如果把样本S_2(74,69,66)S_4(65,38,85)归为一类,其重心坐标为

的离差平方和为,

根据(附表III),交叉样本离差平方和矩阵表为,

D_{ij} S_1 S_2 S_3 S_4 S_5
S_2 67
S_3 690.5 654.5
S_4 386.5 701.5 1605
S_5 685 630 2478.5 797.5

按最小离差平方和67将、聚类为C_r(1,2)

D_{ij} C_r(1,2) S_3 S_4 S_5
C_r(1,2)
S_3 874.33
S_4 703 1605
S_5 854.33 2478.5 797.5

在离差平方和矩阵基础上,当聚类到某一步时,类和分别有样本和个,将和合并为,则内样本个数为,某一类与新类的离差平方和距离公式为,

表中,

按最小距离703将、聚类为,

D_{ij} C_s(1,2,4) S_3 S_5
C_s(1,2,4)
S_3 1683.75
S_5 1063.12 2478.5

表中,

按最小距离1063.12将G_s、聚类为,

D_{ij} C_t(1,2,4,5) S_3
C_t(1,2,4,5)
S_3 1683.75

上述并类过程可用下图表达,
cluster7.png

三、系统聚类分析代码及样例

复制代码
 ## 函数 - 系统聚类

    
     webTJ.Datamining.setCluster(arrs,drrs,type,k);
    
 ##参数
    
     【arrs,drrs,type,k】
    
     【样本数组,距离矩阵,距离或相似性类型,聚类组数】

注:聚类类型type取1、2、3、4、5、6、7,分别为R语言的最短距离法(single)、最长距离法(complete)、中间距离法(median)、相似法(mcquitty)、类平均法(average)、重心法(centroid)、离差平方和法(ward);聚类组数k为期望将样本分为几组

代码样例

复制代码
 webTJ.clear();

    
 var oTxt="67,63,73,75,44,91|74,69,66,94,81,55|76,93,93,79,71,27|65,38,85,85,61,45|80,39,48,75,41,52|72,80,70,88,86,43|60,50,91,95,42,64|77,49,69,50,89,55|65,89,50,70,99,85|78,41,55,89,71,28";
    
 var oArrs=webTJ.getArrs(oTxt,"|",",");
    
 oArrs=webTJ.Array.getQuantify(oArrs);
    
 var oDrrs=webTJ.Datamining.getOSDiss(oArrs); 
    
 webTJ.Datamining.setCluster(oArrs,oDrrs,1,3);

四、案例分析

1、人口文化程度聚类分析

为了更深入了解我国人口的文化程度状况,现利用1990年全国人口普查数据对全国30个省、直辖市、自治区进行聚类分析。分析选用了三个指标:(1)大学以上文化程度的人口占全部人口的比例(DXBZ);(2)初中文化程度的人口占全部人口的比例(CZBZ);(3)文盲半文盲人口占全部人口的比例(WMBZ)、分别用来反映较高、中等、较低文化程度人口的状况,原始数据如下表:

1990年全国人口普查文化程度人口比例(%) | 地区| 序号| DXBZ| CZBZ| WMBZ |

--- --- --- --- ---
天津 2 4.67 29.38 8.92
河北 3 0.96 24.69 15.21
山西 4 1.38 29.24 11.3
内蒙 5 1.48 25.47 15.39
辽宁 6 2.6 32.32 8.81
吉林 7 2.15 26.31 10.49
黑龙江 8 2.14 28.46 10.87
上海 9 6.53 31.59 11.04
江苏 10 1.47 26.43 17.23
浙江 11 1.17 23.74 17.46
安徽 12 0.88 19.97 24.43
福建 13 1.23 16.87 15.63
江西 14 0.99 18.84 16.22
山东 15 0.98 25.18 16.87
河南 16 0.85 26.55 16.15
河北 17 1.57 23.16 15.79
湖南 18 1.14 22.57 12.1
广东 19 1.34 23.04 10.45
广西 20 0.79 19.14 10.61
海南 21 1.24 22.53 13.97
四川 22 0.96 21.65 16.24
贵州 23 0.78 14.65 24.27
云南 24 0.81 13.85 25.44
西藏 25 0.57 3.85 44.43
陕西 26 1.67 24.36 17.62
甘肃 27 1.1 16.85 27.93
青海 28 1.49 17.76 27.7
宁夏 29 1.61 20.27 22.06
新疆 30 1.85 20.66 12.75

数据处理过程如下,

I、将表格中数据部分转换为格式字符串(列由“,”分割、行由“|”分割)

复制代码
3,30.55,8.7|4.67,29.38,8.92|0.96,24.69,15.21|1.38,29.24,11.3|1.48,25.47,15.39|2.6,32.32,8.81|2.15,26.31,10.49|2.14,28.46,10.87|6.53,31.59,11.04|1.47,26.43,17.23|1.17,23.74,17.46|0.88,19.97,24.43|1.23,16.87,15.63|0.99,18.84,16.22|0.98,25.18,16.87|0.85,26.55,16.15|1.57,23.16,15.79|1.14,22.57,12.1|1.34,23.04,10.45|0.79,19.14,10.61|1.24,22.53,13.97|0.96,21.65,16.24|0.78,14.65,24.27|0.81,13.85,25.44|0.57,3.85,44.43|1.67,24.36,17.62|1.1,16.85,27.93|1.49,17.76,27.7|1.61,20.27,22.06|1.85,20.66,12.75

步骤:

a. 用鼠标全选网页表格或WORD表格中的数据;

b. 复制、粘贴(选择只保留文本粘贴)所选数据到EXCEL文档中;

c. 删除标题行、省份和序号列;

c. 复制、粘贴数据到空白WORD文档中;

d. 在WORD文档中将数据列空格替换为列分隔符,如逗号“,”(复制数据列之间空格-打开文字替换菜单-粘贴空格到查找内容文本框中-在替换为文本框中输入列分隔符-点击全部替换)

e. 在WORD文档中将数据回车换行符替换为行分隔符,如符号“|”(打开文字替换菜单-在查找内容文本框中输入“^p”-在替换为文本框中输入行分隔符-点击全部替换)

II、代码

复制代码
 var oTxt="9.3,30.55,8.7|4.67,29.38,8.92|0.96,24.69,15.21|1.38,29.24,11.3|1.48,25.47,15.39|2.6,32.32,8.81|2.15,26.31,10.49|2.14,28.46,10.87|6.53,31.59,11.04|1.47,26.43,17.23|1.17,23.74,17.46|0.88,19.97,24.43|1.23,16.87,15.63|0.99,18.84,16.22|0.98,25.18,16.87|0.85,26.55,16.15|1.57,23.16,15.79|1.14,22.57,12.1|1.34,23.04,10.45|0.79,19.14,10.61|1.24,22.53,13.97|0.96,21.65,16.24|0.78,14.65,24.27|0.81,13.85,25.44|0.57,3.85,44.43|1.67,24.36,17.62|1.1,16.85,27.93|1.49,17.76,27.7|1.61,20.27,22.06|1.85,20.66,12.75";

    
 var oArrs=webTJ.getArrs(oTxt,"|",",");
    
 oArrs=webTJ.Array.getQuantify(oArrs);
    
 oArrs=webTJ.Datamining.getYZarrs(oArrs,1);    //数据标准
    
 var oDrrs=webTJ.Datamining.getOSDiss(oArrs);  //欧氏距离矩阵
    
 webTJ.Datamining.setCluster(oArrs,oDrrs,2,5); //最长距离法(complete)、聚为5类

代码解释:

a. 格式字符串导入数组并量化

复制代码
    var oArrs=webTJ.getArrs(oTxt,"|",","); oArrs=webTJ.Array.getQuantify(oArrs);

b. 数据标准化

复制代码
    var oYZarrs=webTJ.Datamining.getYZarrs(oArrs,1);

其它标准化方法参见银河统计博文:数据标准化 - 数据挖掘算法(1)

c. 计算距离矩阵

复制代码
    var oDrrs=webTJ.Datamining.getOSDiss(oArrs);

其它距离矩阵计算方法参见银河统计博文:相似性度量 - 数据挖掘算法(2)

d. 聚类分析

复制代码
    webTJ.Datamining.setCluster(oArrs,oDrrs,1,3);

e. 结果提取

可以将结果排序的聚类样本表复制、粘贴到EXCEL。

2、根据信息基础设施的发展状况,对世界20个国家和地区进行分类

这里选取了发达国家、新兴工业化国家、拉美国家、亚洲发展中国家、转型国家等不同类型的20个国家作Q型聚类分析。描述信息基础设施的变量主要有六个:

I、 Call—每千人拥有电话线数,
II、 movecall—每千房居民蜂窝移动电话数,
III、fee—高峰时期每三分钟国际电话的成本,
IV、 Computer—每千人拥有的计算机数,
V、 mips—每千人中计算机功率《每秒百万指令》,
VI、 net—每千人互联网络户主数。数据摘自《世界竞争力报告—1997》。

20个国家信息基础设施表 | ID| country| call| movecall| fee| computer| mips| net |

--- --- --- --- --- --- --- ---
2 日本 498.4 143.2 3.57 176 10223 6.26
3 德国 557.6 70.6 2.18 199 11571 9.48
4 瑞典 684.1 281.8 1.4 286 16660 29.39
5 瑞士 644 93.5 1.98 234 13621 22.68
6 丹麦 620.3 248.6 2.56 296 17210 21.84
7 新加坡 498.4 147.5 2.5 284 13578 13.49
8 中国台湾 469.4 56.1 3.68 119 6911 1.72
9 韩国 434.5 73 3.36 99 5795 1.68
10 巴西 81.9 16.3 3.02 19 876 0.52
11 智利 138.6 8.2 1.4 31 1411 1.28
12 墨西哥 92.2 9.8 2.61 31 1751 0.35
13 俄罗斯 174.9 5 5.12 24 1101 0.48
14 波兰 169 6.5 3.68 40 1796 1.45
15 匈牙利 262.2 49.4 2.66 68 3067 3.09
16 马来西亚 195.5 88.4 4.19 53 2734 1.25
17 泰国 78.6 27.8 4.95 22 1662 0.11
18 印度 13.60 0.30 6.28 2.00 101.00 0.01
19 法国 559.10 42.90 1.27 201.00 11702.00 4.76
20 英国 521.10 122.50 0.98 248.00 14461.00 11.91

代码

复制代码
 var oTxt="631.6,161.9,0.36,403,26073,35.34|498.4,143.2,3.57,176,10223,6.26|557.6,70.6,2.18,199,11571,9.48|684.1,281.8,1.4,286,16660,29.39|644,93.5,1.98,234,13621,22.68|620.3,248.6,2.56,296,17210,21.84|498.4,147.5,2.5,284,13578,13.49|469.4,56.1,3.68,119,6911,1.72|434.5,73,3.36,99,5795,1.68|81.9,16.3,3.02,19,876,0.52|138.6,8.2,1.4,31,1411,1.28|92.2,9.8,2.61,31,1751,0.35|174.9,5,5.12,24,1101,0.48|169,6.5,3.68,40,1796,1.45|262.2,49.4,2.66,68,3067,3.09|195.5,88.4,4.19,53,2734,1.25|78.6,27.8,4.95,22,1662,0.11|13.6,0.3,6.28,2,101,0.01|559.1,42.9,1.27,201,11702,4.76|521.1,122.5,0.98,248,14461,11.91|13.60,0.30,6.28,2.00,101.00,0.01|559.10,42.90,1.27,201.00,11702.00,4.76|521.10,122.50,0.98,248.00,14461.00,11.91";

    
 var oArrs=webTJ.getArrs(oTxt,"|",",");
    
 oArrs=webTJ.Array.getQuantify(oArrs);
    
 var oDrrs=webTJ.Datamining.getMAHDiss(oArrs); //马氏距离矩阵
    
 webTJ.Datamining.setCluster(oArrs,oDrrs,7,5); //离差平方和法(ward)、聚为5类

转载于:https://www.cnblogs.com/cloudtj/p/6721135.html

全部评论 (0)

还没有任何评论哟~