【问题标题】:Train Spark k-means with Mahout vectors使用 Mahout 向量训练 Spark k-means
【发布时间】:2015-04-07 15:45:48
【问题描述】:

我的 hdfs 中有一些序列文件格式的 Mahout 向量。是否可以以某种方式使用相同的向量在 Spark 中训练 KMeans 模型?我可以将现有的 Mahout 向量转换为 Spark 向量 (mllib),但我想避免这种情况。

【问题讨论】:

    标签: apache-spark machine-learning mahout k-means apache-spark-mllib


    【解决方案1】:

    Spark 不直接支持 Mahout 向量。根据您的担忧,您需要将它们转换为 Spark Vectors。

    val sc = new SparkContext("local[2]", "MahoutTest")
    val sfData = sc.sequenceFile[NullWritable, MVector](dir)
    val xformedVectors = sfData.map { case (label, vect) =>
      import collection.JavaConversions._
      (label, Vectors.dense(vect.all.iterator.map{ e => e.get}.toArray))
    }
    

    【讨论】:

    • 这真的还不错。 DRM 上的单个分布式传递速度很快。使用 Spark-Mahout 代码时,也不需要序列文件。
    猜你喜欢
    • 2014-07-13
    • 1970-01-01
    • 2013-06-20
    • 2012-11-01
    • 2012-11-06
    • 2014-04-20
    • 2016-09-21
    • 2013-06-23
    • 2013-06-29
    相关资源
    最近更新 更多