主要内容

轮廓

描述

例子

轮廓(Xclust的情节群集轮廓n——- - - - - -p输入数据矩阵X,给定集群分配clust的每一点(观察)X

例子

轮廓(Xclust距离中指定的点间距离度量来绘制剪影距离

例子

轮廓(Xclust距离DistParameter在指定时接受一个或多个额外的距离度量参数值距离作为自定义距离函数句柄@distfun它接受附加的参数值。

例子

年代=轮廓(___返回的轮廓值年代对于前面语法中的任何输入参数组合,而不绘制集群轮廓。

例子

年代h) =轮廓(___绘制轮廓并返回图形句柄h的剪影值年代

例子

全部折叠

使用不同的距离度量从聚类数据创建剪影图。

生成随机样本数据。

rng (“默认”%的再现性X = [randn (10, 2) + 3; randn (10, 2) 3);

创建数据的散点图。

散射(X (: 1), (2):,);标题(随机生成的数据的);

图中包含一个坐标轴。标题为random Generated Data的轴包含一个scatter类型的对象。

散点图显示,数据似乎被分成两个大小相等的簇。

将数据划分为两个集群kmeans默认的欧式距离平方度规。

clust = kmeans (X, 2);

clust包含数据的群集索引。

使用默认的平方欧几里得距离度量从聚类数据创建剪影图。

clust轮廓(X)

图中包含一个坐标轴。坐标轴包含一个bar类型的对象。

剪影图显示数据被分成两个大小相等的簇。两个簇中的所有点都有较大的轮廓值(0.8或更大),表明簇分离良好。

使用欧氏距离度量从聚类数据中创建一个剪影图。

clust轮廓(X,“欧几里得”

图中包含一个坐标轴。坐标轴包含一个bar类型的对象。

剪影图显示数据被分成两个大小相等的簇。两个簇中的所有点都有较大的轮廓值(0.6或更大),表明簇分离良好。

从聚类数据中计算轮廓值。

生成随机样本数据。

rng (“默认”%的再现性X = [randn (10, 2) + 1; randn (10, 2) 1];

将数据聚类到X根据距离的绝对差之和,利用kmeans

clust = kmeans (X 2“距离”“cityblock”);

clust包含数据的群集索引。

从聚类数据中计算轮廓值。指定距离度量为“cityblock”以表明kmeans聚类是基于绝对差异的和。

s =轮廓(X, clust,“cityblock”
s =20×10.0816 0.5848 0.1906 0.2781 0.3954 0.4050 0.0897 0.5416 0.6203 0.6664

使用自定义卡方距离度量从聚类数据中查找剪影值。验证卡方距离度量等价于欧氏距离度量,但带有可选的缩放参数。

生成随机样本数据。

rng (“默认”);%的再现性X = [randn (10, 2) + 3; randn (10, 2) 3);

将数据聚类到X使用kmeans默认的欧式距离平方度规。

clust = kmeans (X, 2);

使用欧氏距离度量从聚类数据中查找剪影值并创建剪影图。

[s、h] =轮廓(X, clust“欧几里得”

图中包含一个坐标轴。坐标轴包含一个bar类型的对象。

s =20×10.6472 0.7241 0.5682 0.7658 0.7864 0.6397 0.7253 0.7783 0.7054 0.7442
h =图(1),属性:Number: 1名称:"颜色:[1,1]位置:[348 480 583 437]单位:'pixels'显示所有属性

卡方距离J维点x而且z

χ x z j 1 J w j x j - z j 2

在哪里 w j 重量与尺寸有关吗j

为每个维度设置权重并指定卡方距离函数。距离函数必须:

  • 的作为输入参数n——- - - - - -p输入数据矩阵X,一排X(例如,x)和一个缩放(或权重)参数w

  • 计算从x到每一行X

  • 返回一个长度向量n.每一个向量的元素之间的距离都是观测值所对应的x和对应于每一行的观察值X

w = (0.4;0.6);为说明设置任意权重chiSqrDist = @ x, Z, w)√((bsxfun (@minus, x, Z)。^ 2)* w);

使用自定义距离度量从聚类数据中查找剪影值chiSqrDist

s1 =轮廓(X, clust chiSqrDist w)
s1 =20×10.6288 0.7239 0.6244 0.7696 0.7957 0.6688 0.7386 0.7865 0.7223 0.7572

将两个维度的权重设置为1以使用chiSqrDist作为欧氏距离度规。找到剪影值,并验证它们与中的值相同年代

w2 = [1;1);s2 =轮廓(X, clust chiSqrDist w2);AreValuesEqual = isequal (s2, s)
AreValuesEqual =逻辑1

的轮廓值是相同的年代而且s2

输入参数

全部折叠

输入数据,指定为大小的数字矩阵n——- - - - - -p.行对应点,列对应坐标。

数据类型:|

集群赋值,指定为类别变量、数字向量、字符矩阵、字符串数组或字符向量的单元格数组,其中包含每个点的集群名称X

轮廓对待S和空值clust的对应行,并忽略X

数据类型:||字符|字符串|细胞|分类

距离度量,指定为字符向量、字符串标量或函数句柄,如本表所述。

度规 描述
“欧几里得”

欧氏距离

“sqEuclidean”

欧几里得距离平方(默认)

“cityblock”

绝对差之和

的余弦

1减去点间夹角的余弦(作为向量处理)

“相关”

1减去点之间的样本相关性(作为值序列处理)

“汉明”

不同坐标的百分比

“Jaccard”

不同的非零坐标的百分比

向量 的形式创建的成对距离的数字行向量pdist函数。X在这种情况下不使用,并且可以安全地设置为[]
@distfun

自定义距离函数手柄。距离函数有这样的形式

函数D = distfun(X0,X,DistParameter%计算距离…
在哪里

  • X0是一个1——- - - - - -p包含输入数据矩阵的单点(观测值)的向量X

  • X是一个n——- - - - - -p矩阵点。

  • DistParameter表示特定的一个或多个附加参数值@distfun

  • D是一个n——- - - - - -1距离向量,和D (k)观察之间的距离是多少X0而且X (k,:)

有关更多信息,请参见距离度量

例子:的余弦

数据类型:字符|字符串|function_handle||

距离度量参数值,指定为正标量、数值向量或数值矩阵。此参数仅在指定自定义距离函数句柄时有效@distfun除输入参数外,它还接受一个或多个参数值X0而且X

例子:轮廓(X, clust distfun, p1, p2)在哪里p1而且p2是否附加距离度量参数值@distfun

数据类型:|

输出参数

全部折叠

轮廓值,作为n——- - - - - -1取值范围为11.一个轮廓值度量一个点与它自己集群中的点的相似程度,当与其他集群中的点进行比较时。值的范围从11.高的轮廓值表示一个点与它自己的聚类匹配良好,而与其他聚类匹配较差。

数据类型:|

图句柄,作为标量返回。您可以使用图句柄来查询和修改图属性。有关更多信息,请参见图的属性

更多关于

全部折叠

轮廓值

每个点的轮廓值是对该点与其所属集群中的点的相似程度的度量,当与其他集群中的点进行比较时。

轮廓值如果点被定义为

Si = (bi-ai)/ max(ai,bi)

在哪里人工智能平均距离是指向同簇中的其他点,bi最小平均距离是点到不同聚类中的点,在聚类中最小化。

轮廓值取值范围为11.高的轮廓值表明这一点与自己的集群匹配良好,与其他集群匹配较差。如果大多数点具有较高的轮廓值,则聚类解决方案是合适的。如果许多点的轮廓值较低或为负,则聚类解决方案可能拥有过多或过少的聚类。您可以使用轮廓值作为任何距离度量的聚类评估标准。

参考文献

考夫曼和卢梭。在数据中寻找组:聚类分析导论.霍博肯,新泽西州:约翰·威利父子公司,1990年。

之前介绍过的R2006a