Я хочу сделать формат libsvm, поэтому я сделал dataframe в нужный формат, но я не знаю, как конвертировать в формат libsvm. Формат такой, как показано на рисунке. Я надеюсь, что желаемый тип libsvm - пользовательский элемент: рейтинг. Если вы знаете, что делать в сложившейся ситуации:
val ratings = sc.textFile(new File("/user/ubuntu/kang/0829/rawRatings.csv").toString).map { line =>
val fields = line.split(",")
(fields(0).toInt,fields(1).toInt,fields(2).toDouble)
}
val user = ratings.map{ case (user,product,rate) => (user,(product.toInt,rate.toDouble))}
val usergroup = user.groupByKey
val data =usergroup.map{ case(x,iter) => (x,iter.map(_._1).toArray,iter.map(_._2).toArray)}
val data_DF = data.toDF("user","item","rating")
Я использую Spark 2.0.