【问题标题】:How to find silhoutte in k means clustering while doing it in Scala/Spark 2.2.0如何在 k 中找到 silhoutte 意味着在 Scala/Spark 2.2.0 中进行聚类
【发布时间】:2018-01-30 07:30:38
【问题描述】:

我一直致力于使用 spark 2.2.0 在 scala 中对数据集进行聚类。现在我已经制作了集群,我想测试/评估它的质量。虽然我已经能够找到每个 K 值的误差平方和的集合,但我希望做一个剪影测试。任何人都可以帮助分享任何相关的功能,在scala中这样做的包。

【问题讨论】:

    标签: scala apache-spark machine-learning k-means


    【解决方案1】:

    Silhouette 不可扩展。它使用成对距离,这总是需要 O(n^2) 时间来计算。

    您是否考虑过使用已在 MLlib 中实现的误差平方和 (http://spark.apache.org/docs/latest/ml-clustering.html#k-means),这也有助于确定集群的数量。 (Cluster analysis in R: determine the optimal number of clusters)

    【讨论】:

    • 是的,我已经计算并找到了一个基于 WSSSE 的 K 值,它与上面链接中所写的完全一样,但我想知道别的,因为我已经习惯了原始数据和标准化数据的 K 值,但是标准化数据的 WSSSE 太高了。
    • 所以想知道我是否可以检查剪影。有没有其他方法可以 1. 在不使用 WSSSE 的情况下检查集群的质量并评估 K 值 2. 确定在 K 值不变的情况下标准化和原始数据表现出相同 WSSSE 值的方式?在这方面的任何其他相关建议将不胜感激。我正在对近 500 万行数据进行聚类。
    猜你喜欢
    • 2020-08-17
    • 2018-01-22
    • 2014-07-23
    • 1970-01-01
    • 2013-05-17
    • 2020-09-06
    • 2019-04-23
    • 2018-11-28
    • 1970-01-01
    相关资源
    最近更新 更多