2
A
回答
1
阿帕奇火花提供了一个选项来强制ALS 非负约束。
因此,为了消除这些负面的价值,您只需要设置:
的Python:
nonnegative=True
斯卡拉:
setNonnegative(true)
创建ALS
时型号,即:
>>> als = ALS(rank=10, maxIter=5, seed=0, nonnegative=True)
非负矩阵分解(NMF或NNMF),也称为非负矩阵近似是一组其中一个矩阵V被分解成(通常)两个多变量分析和线性代数算法矩阵W和H,与属性,所有三个矩阵都有非负元素 [参考文献] Wikipedia]。
如果您想了解更多关于NMF,我建议你阅读下列文件:
至于NaN
值,通常这是由于拆分数据集可导致如果其中一个不存在于训练集中并且仅存在于测试集中,则看不见物品或用户。如果您交叉验证了您的训练,也可能会发生这种情况。针对此事,有一对夫妇被标记JIRAs的2.2解决:
- https://issues.apache.org/jira/browse/SPARK-14489。
- https://issues.apache.org/jira/browse/SPARK-19345。
最新将允许您设置冷启动策略以在创建模型时使用。
相关问题
- 1. 为什么这会返回NaN?
- 2. 为什么双型变量返回Nan?
- 3. Mllib ALS模型预测错误
- 4. 为什么要返回NaN?
- 5. 为什么NaN =!NaN返回true?
- 6. 这个预测会返回什么?
- 7. 为什么javascript函数返回NaN值?
- 8. 为什么pow函数返回NAN?
- 9. 为什么这个函数返回NAN
- 10. 为什么这会返回NaN而不是数字?
- 11. distHaversine为什么会为某些坐标对返回NaN?
- 12. 为什么is_numeric(NAN)返回TRUE?
- 13. 为什么reduceRight在Javascript中返回NaN?
- 14. jQuery .text()返回NaN,为什么?
- 15. 这段代码为什么返回NaN?
- 16. 为什么moment.js diff方法返回NaN?
- 17. 为什么scipy.special.hankel1(0,10 ** 10)返回`nan`?
- 18. Javascript - 为什么NaN(1 + null)返回false?
- 19. R:为什么当一个预测模型的MASE是NaN时呢?
- 20. 为什么Spark ML ALS算法打印RMSE = NaN?
- 21. 这个二次方程为什么不会返回负数?
- 22. 为什么PHP中的右移会返回一个负数?
- 23. 为什么arc4random有时会返回负数?
- 24. 为什么feval会在MATLAB中返回NaN
- 25. JavaScript - 为什么我的parseInt会返回NaN?
- 26. 针对相同ALS火花模型的不同预测值
- 27. ALS模型 - 预测full_u * v^t * v的评分非常高
- 28. 为什么R gbm模型预测不符合模型拟合?
- 29. 如何使用泛型测试NaN(或为什么NaN.Equals(NaN)== true)?
- 30. 为什么fgetpos()返回负偏移量?
你能告诉我们你是如何创建你的模型? – eliasah
遇到类似问题。可能的原因见于这个问题的答案,https://stackoverflow.com/questions/37379751/spark-als-predictall-returns-empty – cow
@eliasah https://databricks-prod-cloudfront.cloud.databricks.com/ public/4027ec902e239c93eaaa8714f173bcfc/633976740100210/2910709872521072/1005124714215883/latest.html –