如何将MLlib矢量类型的变量转换为ML矢量类型?

时间:2017-03-21 10:11:52

标签: scala apache-spark vector machine-learning k-means

这是关于Spark和Scala的问题 我想创建一个用户项评级矩阵,并将此矩阵的每一行放入ml KMeans算法中。 所以我写了如下:

 val rawData = sc.textFile("/user/ubuntu/SunLu/ml-100k/u.data").map(_.split("\t").take(3))
   import org.apache.spark.mllib.linalg.distributed.{MatrixEntry, CoordinateMatrix}
   val data = rawData.map{ case Array(i, j, value) => MatrixEntry(i.toLong, j.toLong, value.toDouble)}
   val df = new CoordinateMatrix(data).toIndexedRowMatrix().row.toDF("user", "features")

最后,我得到了如下数据框: df.show

然后我使用以下代码获得了userVectors:val userVectors = df.select("features") 我将它应用到ml Kmeans algortihm中,但我收到如下错误:error 我不知道如何将mllib vector转换为ml vector。 以及如何将ml KMeans算法与我所拥有的userVectors一起应用。

0 个答案:

没有答案