【问题标题】:How to give label for cluster from GMM iteration?如何从 GMM 迭代中为集群提供标签?
【发布时间】:2014-12-11 20:40:54
【问题描述】:

我从Understanding concept of Gaussian Mixture Models 中了解到 GMM 的概念。这对我很有帮助。我也为 fisheriris 实现了 GMM,但我没有使用 fitgmdist 函数,因为我没有它。所以我使用了http://chrisjmccormick.wordpress.com/2014/08/04/gaussian-mixture-models-tutorial-and-matlab-code/的代码。

当我阅读Understanding concept of Gaussian Mixture Models 时,Amro 可以使用其标签绘制结果,即 setosa、virginica 和 versicolor。他是怎么做到的?经过一些迭代,我只得到了 mu、Sigma 和 weight。根本没有标签。我想将标签(setosa、virginica 和 versicolor)添加到 GMM 迭代的混合模型中。

【问题讨论】:

  • 请添加您目前尝试过的代码,以便我们帮助您改进!欢迎来到 SO!
  • 您可能想查看您链接的代码中的gscatter(data(:,1), data(:,2), species, clrDark) 行。你会想看看species 参数。

标签: matlab machine-learning classification cluster-analysis mixture-model


【解决方案1】:

该图中有两组“标签”:

  • 一个是 Fisher Iris 数据集的“真实”标签(species 变量包含每个实例的类:setoasversicolorvirginica)。通常,您不会在真实数据集中拥有这些(毕竟聚类的目标是发现数据中的那些组,而您事先并不知道这些组)。我只是在这里使用它们来了解 EM 聚类在实际情况下的表现如何(散点根据类别进行颜色编码)。

  • 另一组标签是我们使用 GMM 找到的集群。基本上,我构建了一个 50x50 的 2D 点网格来覆盖整个数据域,然后通过计算后验概率并选择具有最高可能性的组件来为每个点分配一个集群。我以背景颜色显示了这些集群。作为一个很好的结果,我们可以看到集群之间的判别决策边界。

您可以看到左侧的点簇被很好地分开(并且与setosa 类完美匹配)。虽然绘图右侧的点被分成两个与其他两个类匹配的点,但如果你愿意的话,也会有实例“错误分类”(边界错误一侧的一些绿点)。

通常在真实环境中,您不会有那些实际的类可供比较,因此无法判断您的聚类有多“准确”(clustering performance evaluation 存在其他指标)...

【讨论】:

    猜你喜欢
    • 2018-05-04
    • 2022-01-23
    • 2022-08-04
    • 2013-01-12
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 2019-03-25
    相关资源
    最近更新 更多