[英]How to convert RowMatrix to RDD[vector]?
矩阵是 PCA 的输出,我使用 PCA 的结果进行聚类。
val lData = sqlContext.read.parquet("/usr/local/spark/dataset/data/user")
val vecData = lData.rdd.map(s => Vectors.dense(s.getInt(0),s.getAs[Seq[Double]](1):_*)).cache()
val mat = new RowMatrix(vecData)
val pc = mat.computePrincipalComponents(2)
val projected = mat.multiply(pc)
val numClusters =10
val numIteration = 10
val model=KMeans.train(vectors,numClusters,numIteration)
出现这个错误
类型不匹配; 发现:org.apache.spark.mllib.linalg.distributed.RowMatrix 需要:org.apache.spark.rdd.RDD[org.apache.spark.mllib.linalg.Vector]
如何纠正?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.