【发布时间】:2017-05-21 11:15:31
【问题描述】:
我正在解决一个问题,该问题需要在大约 125 个不同的数据集上单独运行 KMeans。因此,我希望以数学方式计算每个数据集的“最佳”K。但是,随着 K 值的增加,评估指标会继续下降。
对于示例数据集,有 50K 行和 8 列。使用 sklearn 的calinski-harabaz score,我正在遍历不同的 K 值以找到最佳/最低分数。但是,我的代码达到了 k=5,600,而 calinski-harabaz 的分数仍在下降!
似乎发生了一些奇怪的事情。指标效果不好?我的数据可能有缺陷吗(请参阅我的 question about normalizing rows after PCA)? 是否有另一种/更好的方法在数学上收敛到“最佳”K?或者我应该强迫自己在所有数据集中手动选择一个常数 K?
任何其他观点都会有所帮助。谢谢!
【问题讨论】:
标签: algorithm machine-learning scikit-learn k-means evaluation