作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用显式训练函数根据用户偏好(派生偏好)推荐产品,并且 MSE 对于训练和测试数据集来说都足够好。 ( lambda =0.01)
当我在trainImplicit中使用相同的数据时,测试和训练数据集的MSE增加到20倍。(lambda=0.01,alpha=1.0)
现在我明白这些是不同的算法,但是我如何判断隐式算法是否比显式算法更好?
最佳答案
基本上,隐式训练和显式训练之间的区别在于,当您只有与该项目相关的隐式操作才能做出推荐时,应该使用隐式训练。浏览量、点击量、购买量、喜欢、分享等。而当您对要推荐的项目有明确的价格时,应该使用显式的。现在谈论该算法在该领域的应用,我在做电影推荐系统时也遇到了与您相同的情况,我无法解释为什么在显式数据集中训练时隐式比显式得到更好的结果。在我看来,MSE 是一个合适的绩效衡量标准。您可以做的一件事是检查 Spark mllib 的实现并尝试理解原因:)。抱歉,如果我根本没有回答您。
关于apache-spark - Spark MLlib : Difference between implicitTrain and explicitTrain,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41663806/
我尝试使用显式训练函数根据用户偏好(派生偏好)推荐产品,并且 MSE 对于训练和测试数据集来说都足够好。 ( lambda =0.01) 当我在trainImplicit中使用相同的数据时,测试和训练
我是一名优秀的程序员,十分优秀!