【发布时间】:2012-06-27 19:15:19
【问题描述】:
我正在使用一个 300x5000 的矩阵,我想测试哪个距离计算参数最有效。我得到了以下结果:
'Sqeuclidean' = 17 次迭代,距离总和 = 25175.4
'Correlation' = 9 次迭代,距离总和 = 32.7
'Cityblock' = 34 次迭代,距离总和 = 105175.3
'余弦' = 11 次迭代,距离总和 = 11.9
我无法理解为什么结果差异如此之大以及如何选择最有效的距离参数。有什么建议吗?
编辑:
我有 300 个功能,每个功能有 5000 个实例。 函数如下所示:
[idx, ctrs, sumd, d] = kmeans(matrix, 25, 'distance', 'cityblock', 'replicate', 20)
通过交换距离参数。特征已经标准化。
谢谢!
【问题讨论】:
-
你应该清楚说明你使用的是哪个函数,300和5000中哪个是你问题的维度,哪个是样本数,以及你是如何使用这个函数的。
-
要了解为什么使用不同的方法会得到不同的结果,您真的应该尝试了解不同方法的实际作用。然后选择最适合您的问题的方法,而不是为您提供“最佳”结果的方法
-
您的编辑没有解决根本问题。您还没有定义好的集群是什么。您给出的指标(收敛迭代、距离总和)并不是衡量一个好的集群的有意义的指标。当然,不同的距离函数会有不同的总和,并且需要不同的迭代来收敛。您在集群方面的实际目标是什么?
标签: matlab statistics cluster-analysis k-means