gpt4 book ai didi

Scala:将 RDD[LabeledPoint] 转换为 RDD[(Long,Vector)]

转载 作者:行者123 更新时间:2023-11-30 09:34:17 24 4
gpt4 key购买 nike

我在 RDD[LabeledPoint] 中有数据(在下面的代码中表示为 sparse0.sparseData)

我想转换为RDD[(Long,Vector)],这样我就可以在mllib包中运行LDA分析。

我能管理的最好的方法是映射到RDD[(Long,Vector[Double])],当输入LDA.run方法时它不会编译

尝试映射到 RDD[(Long,Vector)] 不会在 .map 方法中进行编译。 (错误向量采用类型参数)

事实上,我的 map 方法似乎很曲折,这表明我遗漏了一些明显的东西。任何提示将不胜感激

val mappedData:Map[Long,Vector[Double]]=sparse0.sparseData().collect().map
{
var count:Int=0
row =>
count=count+1
new Tuple2[Long,Vector[Double]](count,row.features.toArray.toVector)



}.toMap

val mappedRDD=spark.sparkContext.parallelize(mappedData.toSeq)

// Cluster the documents into three topics using LDA
val ldaModel = new LDA().setK(3).run(mappedRDD)

最佳答案

Scala Vectormllib.linalg.Vector 不同。我会zipWithIndex

val mappedRDD  = sparse0.sparseData().map(_.features).zipWithIndex.map(_.swap)

关于Scala:将 RDD[LabeledPoint] 转换为 RDD[(Long,Vector)],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47313592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com