加入邻居聚类质心Matlab

时间:2013-08-05 07:06:16

标签: matlab cluster-analysis k-means

我使用K-means使用此[X,C] = kmeans(XX, 8]将数据聚类到8个不同的聚类中,这意味着我有8个质心,其位置存储在C“X Y Z下面显示为coloumns的示例”。我想将8个质心连接在一起,其中只有彼此接近的簇的质心连接“彼此之间具有边界”,而不相互接近的簇的质心不连接。所以,如果有人可以请提出建议吗?

    C=
    -0.214560757496055  0.208243029984219   1.27200000000000
    -0.170247238295634  0.399735227073470   1.14600000000000
    -0.0129089952656497 0.410839908819919   1.22700000000000
    -0.244488865509381  0.0526915658425390  1.20200000000000
    -0.391215149921094  0.258634052253200   1.23600000000000
    -0.258542872172541  0.307469752761704   1.18100000000000
    -0.346834999123269  0.413056286165176   1.16100000000000
    -0.0885709275819744 0.278674381904261   1.23200000000000

我使用了所建议的但是一些星团的质心但是在非邻居星团的质心之间构造了一些不需要的连接“例如群集顶部的质心与底部群集的质心”如图所示这个数字,所以如果可以的话请告知

X=C(:,1);
Y=C(:,2);
Z=C(:,3);
dt      = DelaunayTri(X,Y,Z); 
tetramesh(dt,'FaceColor', 'none');

res

1 个答案:

答案 0 :(得分:2)

就像@Dan评论的那样,你正在寻找Delaunay Triangulation,这是Voronoi细胞的双重性。

有关详细信息,请参阅https://en.wikipedia.org/wiki/Delaunay_triangulation

From Wikipedia

图片版权信息:https://en.wikipedia.org/wiki/File:Delaunay_Voronoi.png

黑点是群集“中心”。黑线是Delaunay三角测量(这可能是你正在寻找的),而红线和点是Voronoi图。计算Voronoi数字图像的通常方法实际上是首先执行Deleaunay三角剖分,然后与附近边缘的正交相交。