【问题标题】:I Can't save ALS Model我无法保存 ALS 模型
【发布时间】: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


【解决方案1】:

基本上,o477 和 oXXX 错误通常意味着在执行工作时出现错误。由于您似乎正在推荐电影,因此我假设您使用的是 movielens 或 netflix 数据集。 它可能意味着以下之一:

  1. 文件太大,无法腌制
  2. 模型太复杂,你的内存用完了

【讨论】:

    猜你喜欢
    • 2019-08-17
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    相关资源
    最近更新 更多