gpt4 book ai didi

scala - Spark MLlib ALS 中的非整数 ID

转载 作者:行者123 更新时间:2023-11-30 08:49:11 25 4
gpt4 key购买 nike

我想使用

val ratings = data.map(_.split(',') match {
case Array(user,item,rate)
=>
Rating(user.toInt,item.toInt,rate.toFloat)
})
val model = ALS.train(ratings,rank,numIterations,alpha)

但是,我获取的用户数据存储为 Long。当转换为int时,可能会产生错误。我该如何解决这个问题?

最佳答案

您可以使用支持标签的ML实现之一。 RDD 版本与其他实现相比,它的用户友好性明显较差:

import org.apache.spark.ml.recommendation.ALS
import org.apache.spark.ml.recommendation.ALS.Rating

val ratings = sc.parallelize(Seq(Rating(1L, 2L, 3.0f), Rating(2L, 3L, 5.0f)))

val (userFactors, itemFactors) = ALS.train(ratings)

并且仅返回因子,但DataFrame版本返回模型:

val ratingsDF= ratings.toDF

val alsModel = new ALS().fit(ratingsDF)

关于scala - Spark MLlib ALS 中的非整数 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46068234/

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