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 –