【问题标题】:How to select a proper clustering algorithm如何选择合适的聚类算法
【发布时间】:2013-12-11 23:25:29
【问题描述】:

我即将使用 1000 维的特征向量进行聚类。 也就是说,特征向量如下所示。 a = {255, 2334, 436, ... , 5284}; b = {235, 434, 63, ... , 844}; ... 我也有度量 2 个特征向量之间的距离。 但我无法弄清楚哪种聚类算法对这个特征向量的聚类效果最好,因为由于高维我无法可视化这些向量的分布。 任何人都知道可以可视化这些分布的方法, 或者在不知道数据分布的情况下,如何选择最佳的聚类算法? 提前致谢。

【问题讨论】:

  • 你有什么样的数据?有标签的,没有标签的?班数你知道吗?
  • 为此,我收集了实验数据,所以我知道类的数量和实验数据上的标签。然后我对数据应用了各种聚类算法并评估了性能,以便我能得到最好的方法。但是这个实验数据是不够的,不通用的,所以在实验步骤中选择的方法在一般大数据的实际情况下可能会失败,所以,我想知道如何获得适合一般数据的最佳算法,谢谢为了您的关怀
  • 如果你有标签数据,为什么不比较几种不同的聚类算法,比较哪一种是最正确的呢?
  • 此外,我认为实验数据已经很明显地相互分离了簇,因此聚类性能将是 100%,但是最好的方法无法到达,所以我不确定是否可以确定错误聚类的向量正确聚类或有任何算法可以完美地完成它。我该如何解决我的问题?
  • 好的,那么您真的想将新值归类为属于这些类(集群)之一吗?

标签: algorithm cluster-analysis


【解决方案1】:

您应该将标记数据分成训练集和测试集。使用训练集,您可以训练一个分类器,您可以根据标记的测试集来衡量其性能。

作为分类器,first try 可以是 SVC。

为了获得更好的可靠性,您应该针对不同的训练集和测试集重新执行此过程。这被称为cross-validation

【讨论】:

  • +1 链接到 scikit-learn 流程图。我什至不知道我在寻找那个。
  • 我知道。但是如果有任何算法优于我在交叉验证实验中得到的最佳算法呢?这是可能的,因为我无法在交叉验证中测试所有算法。所以我想可视化分布或了解如何从标记数据和距离度量中找到合适的算法,以确保得到的结果是合理的。
猜你喜欢
  • 2015-01-21
  • 2015-06-30
  • 2016-10-14
  • 1970-01-01
  • 2020-01-25
  • 2014-01-11
  • 1970-01-01
  • 2017-07-23
  • 1970-01-01
相关资源
最近更新 更多