【发布时间】:2016-04-25 18:27:59
【问题描述】:
我是 Spark GMM 的新手,但我对 GMM 的工作原理非常了解。所以我有一个问题希望有人能启发我。
我使用的代码是标准 Spark mllib GMM,我有一个名为 Input 的非索引 RDD,格式为 RDD(Value),我希望使用 GMM.predictSoft 对 Value 进行聚类:
val Vectorize = Input.map(x=>(Vectors.dense(x)))
val Valuegmm = newGaussianMixture().setK(5).run(Vectorize)
val GMMgroup = Valuegmm.predictSoft(Vectorize).map(x=>x.indexOf(x.max))
问题是在predictSoft过程中,输入是非索引向量;因为它是一个 RDD,所以我希望输出结果的索引会被打乱(即第一个结果可能不是第一个输入的结果)。令我惊讶的是,输出结果实际上与输入匹配。有人可以帮忙解释一下这总是正确的还是我的测试数据太小以至于我没有经历过洗牌?
【问题讨论】:
标签: scala apache-spark apache-spark-mllib