Alb*_*nto 4 apache-spark pyspark apache-spark-mllib
实际上,我正在尝试使用ALS
from spark-ml
与隐式评级。
我注意到我训练有素的模型给出的一些预测是negative
或NaN
,为什么呢?
Apache Spark提供了对ALS 施加非否定约束的选项。
因此,要删除这些负值,您只需设置:
蟒蛇:
nonnegative=True
Run Code Online (Sandbox Code Playgroud)
Scala:
setNonnegative(true)
Run Code Online (Sandbox Code Playgroud)
在创建ALS
模型时,即:
>>> als = ALS(rank=10, maxIter=5, seed=0, nonnegative=True)
Run Code Online (Sandbox Code Playgroud)
非负矩阵分解(NMF或NNMF),也称为非负矩阵逼近,是多元分析和线性代数中的一组算法,其中矩阵V被分解为(通常)两个矩阵W和H,其性质是三个矩阵具有非负元素 [Ref。维基百科 ]。
如果您想了解有关NMF的更多信息,建议阅读以下文章:
至于NaN
值,通常是由于拆分了数据集导致的,如果训练集中没有出现其中一项,而测试集中也没有出现,则可能导致看不见的项目或用户。如果您交叉验证了培训,也可能会发生这种情况。就此而言,有几个JIRA被标记为针对2.2 解决:
最新的版本允许您设置创建模型时要使用的冷启动策略。
归档时间: |
|
查看次数: |
1579 次 |
最近记录: |