【发布时间】:2022-06-16 11:07:02
【问题描述】:
from pyspark.ml.recommendation import ALS, ALSModel
from pyspark.ml.tuning import ParamGridBuilder, CrossValidator
from pyspark.mllib.evaluation import RegressionMetrics, RankingMetrics
from pyspark.ml.evaluation import RegressionEvaluator
als = ALS(maxIter=15,
regParam=0.08,
userCol="ID User",
itemCol="ID Film",
ratingCol="Rating",
rank=20,
numItemBlocks=30,
numUserBlocks = 30,
alpha = 0.95,
nonnegative = True,
coldStartStrategy="drop",
implicitPrefs=False)
model = als.fit(training_dataset)
model.save('model')
每次我调用 save 方法时,jupyter notebook 都会给我类似的错误
An error occurred while calling o477.save.
: org.apache.spark.SparkException: Job aborted.
at org.apache.spark.internal.io.SparkHadoopWriter$.write(SparkHadoopWriter.scala:106)
我知道之前的 SO 问题和答案,并尝试过:
model.save('model')
.
model.write().save("saved_model")
.
als.write().save("saved_model")
.
als.save('model')
.
import pickle
s = pickle.dumps(als)
.
als_path = "from_C:Folder_to_my_project_root" + "/als"
als.save(als_path)
我的问题是如何保存 ALS 模型,以便在每次运行程序时无需培训即可加载它
【问题讨论】:
-
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
标签: python pyspark jupyter-notebook recommender-systems als