【问题标题】:get first elements of clusters and clusters ids kmeans spark获取集群的第一个元素和集群 ids kmeans spark
【发布时间】:2017-07-28 22:13:05
【问题描述】:

我用我的数据集训练了一个 k 均值模型,现在我想从每个集群中获取一些元素以及集群 ID

val clusters = KMeans.train(data, numClusters, numIterations)

val vectorsAndClusterIdx = data.map{ point =>
  val prediction = clusters.predict(point)
  (point.toString, prediction)
} 

但是一旦我有了它,我不知道如何用它们的集群 ID 打印这些元素

【问题讨论】:

    标签: scala apache-spark k-means


    【解决方案1】:

    如果我理解你的话,你想用分配的集群 ID 打印每个点。

    你可以试试这样的:

        vectorsAndClusterIdx.collect().foreach(println(_))
    

    或者可能会更好:

        println(dataClustered.collect().mkString("\n"))
    

    【讨论】:

    • 谢谢,您的第一个解决方案效果很好 :) 如果可能的话,我希望从每个集群中获取 10 个元素
    • @laure-d :如果您对上述答案没问题,请注意投票/接受答案
    • 我是,但不完全是,我的意思是,如果可能的话,我希望从每个集群中只获取 10 个元素,而不是所有元素
    • 我还没有测试过,但可以试试:vectorsAndClusterIdx.keyBy(_._2).groupByKey().flatMapValues(x => x.take(10)).values.collect().foreach(println(_))
    猜你喜欢
    • 2019-04-04
    • 2016-11-09
    • 2023-03-22
    • 2019-11-12
    • 2013-07-15
    • 1970-01-01
    • 2017-05-25
    • 2012-06-15
    相关资源
    最近更新 更多