我第一次尝试测试预测io。我遵循了linux的安装说明,并开发了几个测试引擎。在我自己的数据集上反复出现以下错误后,我决定遵循电影《100k教程》(https://github.com/PredictionIO/PredictionIO-Docs/blob/cbca03b1c2bad949db951a3a798f0080c48b3674/source/tutorials/movie-recommendation.rst)。同样的错误似乎仍然存在,尽管我的Hadoop似乎运行正确(并且不是在安全模式下),并且引擎说它正在运行并且训练已经完成。我得到的错误是:
predictionio.ItemRecNotFoundError:请求:GET/engines/itemrec/imovie rec/topn.json{'pio_n':10,'pio_uid':'28','pio_appkey':'UsZmneFir39GXO9hID3wDhDQqYNje4S9Ea3jiQjrpHFzHwMEqCqwJKhtAziveC9D'}/engines/itemrec/imovie-rec/topn.json?pio_n=10&pio_ uid=28&pio_appkey=UsZmneFir39GXO9hID3wDhDQqYNje4S9Ea3jiQjrpHFzHwMEqCqwJKhtAziveC9D状态:404正文:{"消息":"找不到用户的推荐。"}
教程的其余部分按预期运行,只是似乎从未出现任何预测。有人能为我指出如何解决这个问题的正确方向吗?
谢谢!
几个建议:
-
检查PredictioIO的数据库中是否有数据。我看到作业失败,因为数据库中有一些项目,但没有用户和的用户到项目操作。查看Mongo数据库appdata-应该有名为users、items和u2iActions
-
检查日志-PredictionIO日志和Hadoop日志(如果您使用Hadoop作业)。看看模型培训工作是否完成了(顺便说一句,你是否通过网络界面调用了"现在训练预测模型"?)
-
验证predictionio_modeldata中是否存在适用于您的算法的一些数据。
-
好吧,即使模型训练得很好,仍然可能并没有足够的数据为某些用户提供推荐。尝试"随机"获得最简单的推荐,以检查系统是否作为一个整体工作。