pyspark ALS 推荐系统错误 - SparkContext 已关闭;丢失模式;

问题描述

我在 pyspark 中寻找 ALS 推荐系统的最佳参数,它一直显示错误消息,如“SparkContext 已关闭”/“丢失的任务”/“Bad mod”/“ >BlockManagerMasterEndpoint:没有更多副本可用于..."

我尝试添加检查点,但运行几个小时后仍然失败。

我使用的代码

from pyspark.ml.tuning import ParamGridBuilder,CrossValidator

from pyspark.ml.evaluation import RegressionEvaluator

als = ALS(implicitPrefs=True,userCol="user",itemCol="brand_index",ratingCol="rating",coldStartStrategy="drop",nonnegative=True,checkpointInterval=3)

ALS.checkpointInterval =2

param_grid = ParamGridBuilder() \
            .addGrid(als.rank,[10,50,100,150]) \
            .addGrid(als.regParam,[.01,.05,.1,.15]) \
            .build()

evaluator = RegressionEvaluator(
           metricName="rmse",labelCol="rating",predictionCol="prediction") 

print ("Num models to be tested: ",len(param_grid))

cv = CrossValidator(estimator=als,estimatorParamMaps=param_grid,evaluator=evaluator,numFolds=5)

sc.setCheckpointDir('checkpoint/')

model = cv.fit(training)

best_model = model.bestModel

print("**Best Model**")

print("  Rank:",best_model._java_obj.parent().getRank())

print("  MaxIter:",best_model._java_obj.parent().getMaxIter())

print("  RegParam:",best_model._java_obj.parent().getRegparam()) 

有人有类似的问题吗?任何建议将不胜感激!

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)