首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >火花ALS隐式异常

火花ALS隐式异常
EN

Stack Overflow用户
提问于 2015-11-19 09:51:16
回答 2查看 2.7K关注 0票数 2

我们使用ALS在Azure火场建立我们的推荐系统。

由于计算能力的原因,我们不能为每个单独的用户输出不同的推荐列表。因此,我们将用户划分为集群,并使用ALS输出每个集群质心的推荐列表。

在对用户进行聚类之前,我们对Spark上的用户标准标度器和规范化器进行预处理,以获得更好的聚类结果。但是,当使用ALS.trainImplicit时,这将导致以下异常

15/11/16 15:43:11 INFO TaskSetManager: State15.0 (TID 197)中在executor localhost上丢失的任务30.0 : java.lang.AssertionError (断言失败: lapack.dppsv返回4)。重复9回溯(最近一次调用):文件"/home/rogeesjir_huasqngfda/woradofkapkspace/jigsusLaudfadfecher/scripts/RecommendationBackend/AzureSpark/src/collaborativeFiltering/spark_als.py",第92行,main() "/home/rogeesjir_huasqngfda/rogeesjir_huasqngfda/jigsusLaudfadfecher/scripts/RecommendationBackend/AzureSpark/src/collaborativeFiltering/spark_als.py",第39行,main model =ALS.trainImplicit(分级,排名,numIter,文件"/home/jigsusLaudfadfecher/spark-1.3.1-bin-hadoop2.6/python/pyspark/mllib/recommendation.py",第147行,在trainImplicit 15/11/16 15:43:11 INFO TaskSetManager: State15.0 (TID 192)中的java.lang.AssertionError (断言失败: lapack.dppsv返回4)中丢失任务25.0。重复10次迭代,lambda_,块,α,非负,种子)文件"/home/jigsusLaudfadfecher/spark-1.3.1-bin-hadoop2.6/python/pyspark/mllib/common.py",第120行,callMLlibFunc返回callJavaFunc(sc,api,*args)文件callJavaFunc第113行,callJavaFunc返回_java2py(sc,sc,文件"/home/jigsusLaudfadfecher/spark-1.3.1-bin-hadoop2.6/python/lib/py4j-0.8.2.1-src.zip/py4j/java_gateway.py",第538行,在call 第300行中,在get_return_value py4j.protocol.Py4JJavaError 15/11/16 15:43:11 INFO TaskSetManager: State15.0 (TID 183)中,executor localhost: java.lang.AssertionError (断言失败: lapack.dppsv返回4)中丢失的任务16.0。复本11 调用o39::org.apache.spark.SparkException:由于阶段失败而中止作业:阶段15.0中的任务8失败1次,最近的失败:阶段15.0中丢失的任务8.0 (TID 175,:断言失败:在org.apache.spark.ml.recommendation.ALS$CholeskySolver.solve(ALS.scala:355) at org.apache.spark.ml.recommendation.ALS$$anonfun$org$apache$spark$ml$recommendation$ALS$$computeFactors$1.apply(ALS.scala:1131) at org.apache.spark.ml.recommendation.ALS$$anonfun$org$apache$spark$ml$recommendation$ALS$$computeFactors$1.apply(ALS.scala:1092) at org.apache.spark.rdd.PairRDDFunctions$$anonfun$mapValues$1$$anonfun$apply$15.返回4. at scala.Predef$.assert(Predef.scala:179)在org.apache.spark.rdd.PairRDDFunctions$$anonfun$mapValues$1$$anonfun$apply$15.apply(PairRDDFunctions.scala:674),scala.collection.Iterator$$anon$11.next(Iterator.scala:328),org.apache.spark.storage.MemoryStore.unrollSafely(MemoryStore.scala:249),org.apache.spark.CacheManager.putInBlockManager(CacheManager.scala:172),org.apache.spark.CacheManager.getOrCompute(CacheManager.scala:79),org.apache.spark申请(PairRDDFunctions.scala:674)。org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:35) at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:277) org.apache.spark.rdd.RDD.iterator(RDD.scala:244) at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:61) at org.apache.spark.scheduler.Task.run(Task.scala: rdd.RDD.iterator(RDD.scala:242)64)在org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:203) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)

当我们移除“正则化”组件(即,不做标准缩放和规范化)时,一切都正常。顺便说一句,ALS.train()对显式评分的调用也很好,即使我们在ALS模型培训之前对数据进行了正则化。

有没有人遇到过这样的问题?我们仍然是新的,所以请帮助!谢谢。

EN

回答 2

Stack Overflow用户

发布于 2016-06-10 10:16:29

供未来读者参考:

给定数据集中的几列只包含零。在这种情况下,数据矩阵不是满秩的。因此,Gramian矩阵是奇异的,因此不是可逆的。在这种情况下,Cholesky分解将失败。如果多个列的标准差为零(即使值不是零),也会发生这种情况。我认为我们应该在代码中捕捉到这个错误,并发出警告信息退出。或者,我们可以删除列的零方差,并继续算法。

取自评论

只要确保大多数收视率为非零,它就能工作了。

票数 3
EN

Stack Overflow用户

发布于 2016-03-08 13:31:48

我在ALS.train()中也遇到了类似的错误

代码语言:javascript
复制
java.lang.AssertionError: assertion failed: lapack.dpotrs returned 6.
...

谷歌给我带来了一个在Spark https://issues.apache.org/jira/browse/SPARK-11918上报道的问题,在使用加权最小二乘(WLS)进行线性回归时,同样的错误出现。显然,当你试图解一个病态的线性方程组时,LAPACK会抛出这个错误。

在我的例子中,将ALS.train()参数lambda_从默认值0.01增加到更高的值>= 0.02似乎有帮助,尽管我不确定它是否会永久解决我的问题……

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33800385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档