matlab - Matlab 中的凝聚聚类

标签 matlab cluster-analysis classification dendrogram

我有一个简单的二维数据集,我希望以凝聚方式对其进行聚类(不知道要使用的最佳聚类数)。我能够成功对数据进行聚类的唯一方法是为函数提供“maxclust”值。

为简单起见,假设这是我的数据集:

X=[ 1,1;
    1,2;
    2,2;
    2,1;
    5,4;
    5,5;
    6,5;
    6,4 ];

当然,我希望这些数据形成 2 个集群。我明白,如果我知道这一点,我可以说:

T = clusterdata(X,'maxclust',2);

并找出哪些点落入每个集群我可以说:

cluster_1 = X(T==1, :);

cluster_2 = X(T==2, :);

但不知道 2 个聚类对于这个数据集是最优的,我该如何聚类这些数据?

谢谢

最佳答案

此方法的全部要点在于它表示在层次结构中找到的集群,并且由您决定要获取多少详细信息。

agglomerative dendogram

将其视为与树状图相交的水平线,它从 0(每个点都是它自己的簇)开始一直移动到最大值(一个簇中的所有点)。你可以:

  • 当您达到预定的簇数 (example) 时停止
  • 在给定特定高度值 ( example ) 的情况下手动定位它
  • 根据距离标准选择将它放置在簇之间距离太远的地方(即到下一级有很大的跳跃)(example)

这可以通过使用 CLUSTER/CLUSTERDATA 函数的 'maxclust''cutoff' 参数来完成

关于matlab - Matlab 中的凝聚聚类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8016313/

相关文章:

MATLAB 系统命令 "Press Enter to Exit"

java - 使用 "deploytool"和Matlab编译器有什么区别?

r - 实现聚类的邻近矩阵

python - 如何使用 OpenCV 和 SIFT 查找训练图像的多个实例

matlab元胞数组,计算不同元素的数量

matlab - 如何将比特流分成数据包

algorithm - 等簇大小的 K-means 算法变体

r - 获取 R 中隐马尔可夫模型 (MHMM) 混合的每个簇内的观测值(包 seqHMM)

machine-learning - python中适合稀疏高维特征的理想分类器(具有层次分类)

numpy - 无法以形状(19,)(0,)广播操作数— KNN