【问题标题】:Ideal number of clusters in Weka K-meansWeka K-means 中的理想聚类数
【发布时间】:2012-11-08 04:00:55
【问题描述】:

我正在使用 Weka 的 SimpleKMeans 函数来聚类 96000 个术语(作为单词)。 Weka 将所需的簇数作为参数。因此,它为 num 提供 2。集群的默认值。 我拥有的数据集是 96000x641000 稀疏数据集。一开始我给了 10000 个集群编号,但我认为这对于推荐过程来说太多了。 有没有一种方法可以根据算法计算 #of clusters 或找到理想的 #of clusters?

【问题讨论】:

    标签: java cluster-analysis weka k-means


    【解决方案1】:

    K-means 并不是真正为稀疏数据设计的。另外,它是为欧式距离设计的,你应该知道这不是高维数据的好选择。

    也许最简单的论点如下:子集的均值可能不再是稀疏的,因此它本身就是异常,并且比中心更靠近中心实际的数据实例。然而,这意味着不同集群的均值可能会比实际实例与其均值更接近,这使得结果非常可疑。

    您至少应该尝试使用 k-median(但它会慢很多),或者其他措施来保持均值的稀疏性。当然:k-means 确实对数据进行聚类。问题是,结果的有效性如何。

    另见:

    k-means clustering in R on very large, sparse matrix?

    Clustering of sparse matrix in python and scipy

    Distance Metric for clustering elements in a sparse matrix

    clustering on very large sparse matrix?

    K-means clustering algorithm run time and complexity

    How to do K-means with normalized TF-IDF

    Mahout binary data clustering

    关于在高维稀疏/二进制数据上运行 k-means 的许多失败案例(= 没有好的答案的问题)。

    【讨论】:

      【解决方案2】:

      对于 K-means 变体算法,“k”的初始预测有一个经验法则。一般取 k = (n / 2) ^ 0.5 为宜,其中 n = 数据点数。

      【讨论】:

        猜你喜欢
        • 2011-08-13
        • 2011-10-04
        • 2015-04-11
        • 2021-08-19
        • 2013-08-08
        • 2013-02-14
        • 2018-01-14
        • 2013-01-11
        • 2016-02-01
        相关资源
        最近更新 更多