获取集群的第一个元素和集群 ids kmeans spark
Posted
技术标签:
【中文标题】获取集群的第一个元素和集群 ids kmeans spark【英文标题】:get first elements of clusters and clusters 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 打印这些元素
【问题讨论】:
【参考方案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(_))
以上是关于获取集群的第一个元素和集群 ids kmeans spark的主要内容,如果未能解决你的问题,请参考以下文章