以前做als相关的东西的时候,都是用的公司的内部工具居多,今天第一次用了下spark的mlib,拿了个几M的小数据集试了个水。。
结果一跑,我擦。。。居然stackoverflow了。。
源码如下:
from pyspark.mllib.recommendation import ALS
from numpy import array
from pyspark import SparkContext
if __name__ == '__main__':
# sc = SparkSession\
# .builder\
# .appName("PythonWordCount")\
# .getOrCreate()
sc = SparkContext(appName="PythonWordCount")
data = sc.textFile("CollaborativeFiltering.txt", 20)
ratings = data.map(lambda line: [float(x) for x in line.split(' ')]).persist()
rank = 10
n = 30
model = ALS.train(ratings, rank, n)
testdata = ratings.map(lambda r: (int(r[0]), int(r[1])))
predictions = model.predictAll(testdata).map(lambda r: ((r[0], r[1]), r[2]))
ratesAndPreds = ratings.map(lambda r: ((r[0], r[1]

最低0.47元/天 解锁文章
433

被折叠的 条评论
为什么被折叠?



