我试图第一次测试预测。我按照linux的安装说明开发了几个测试引擎。在我自己的数据集上反复获得以下错误之后,我决定关注电影100k教程(https://github.com/PredictionIO/PredictionIO-Docs/blob/cbca03b1c2bad949db951a3a798f0080c48b3674/source/tutorials/movie-recommendation.rst)。即使看起来好像我的Hadoop运行正常(而不是安全模式)并且引擎说它正在运行并且培训完成,同样的错误似乎仍然存在。我得到的错误是:
predictionio.ItemRecNotFoundError:request:GET /engines/itemrec/movie-rec/topn.json {'pio_n':10,'pio_uid':'28', 'pio_appkey': 'UsZmneFir39GXO9hID3wDhDQqYNje4S9Ea3jiQjrpHFzHwMEqCqwJKhtAziveC9D'} /engines/itemrec/movie-rec/topn.json?pio_n=10&pio_uid=28&pio_appkey=UsZmneFir39GXO9hID3wDhDQqYNje4S9Ea3jiQjrpHFzHwMEqCqwJKhtAziveC9D 状态:404正文:{“消息”:“找不到用户推荐。”}
本教程的其余部分按预期运行,似乎没有任何预测出现。有人可以指出我如何解决这个问题的正确方向吗?
谢谢!
答案 0 :(得分:0)
几点建议:
检查PredictioIO数据库中是否有数据。我看到作业失败了,因为数据库中有一些项但没有用户而没有用户到项目操作。查看Mongo数据库 appdata - 应该有名为 users , items 和 u2iActions 的集合。只有在通过API添加第一个user-item-u2iaction时才会创建这些集合。不清楚是否通过网络界面成功完成了工作,这是不好的。
检查日志 - PredictionIO日志和Hadoop日志(如果您使用Hadoop作业)。看看模型培训工作是否完成(顺便说一句,你是否已经调用"现在培训预测模型"通过网络界面?)
验证算法中 predictionio_modeldata 中是否有某些数据。
嗯,即使模型训练良好,仍然没有足够的数据来为某些用户提供建议。尝试"随机"为所有人提供最简单的建议,检查整个系统是否有效。