【发布时间】:2017-05-30 13:10:18
【问题描述】:
我尝试使用显式训练函数根据用户偏好(派生偏好)和 MSE 推荐产品,因为它对于训练和测试数据集都足够好。 (λ=0.01)
当我在 trainImplicit 中使用相同的数据时,测试和训练数据集的 MSE 增加到 20 倍。(lambda=0.01, alpha=1.0)
现在我知道这些是不同的算法,但是我如何判断隐式是否比显式更好?
【问题讨论】:
-
您对显式的评分值是多少?我问是因为如果您不进行标准化,例如您的评分在 1-5 之间,那么给定评分的平方误差将在 0 到 16 之间。而隐式反馈将在 0 到 1 之间。
-
另外,你如何从显式转到隐式?对我来说,明确地说,对于每个用户,您都有很多未知数(他们没有评分的产品),然后是某些产品的评分(即使评分是 0-1)。而隐含的,你有很多 0 和一对 1
标签: apache-spark machine-learning apache-spark-mllib recommendation-engine collaborative-filtering