文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Evaluator
RecommenderEvaluator 接口用于实现对特定算法的评估. 目前实现对于 ranking 的评估器有 AUC, AveragePrecision, AverageReciprocalHitRank, Diversity, HitRate, IdealDCG, Normalized, Precision, Recall, REciprocalRank 十类评估器. 对于 rating 实现评估器 MAE, MPE, MSE, RMSE 四类。
若在配置文件中不进行评估器的指定,最终评估时使用对应类型的全部评估器。
指定评估器的配置示例:
rating:
rec.recommender.isranking=false
rec.eval.enable=true
rec.eval.class=mse # if rating
ranking:
rec.recommender.isranking=true
rec.eval.enable=true
rec.eval.class=auc
rec.recommender.ranking.topn=10
不同评估器相应的简写见下表
Evaluator | configuration |
---|---|
AUCEvaluator | auc |
AveragePrecisionEvaluator | ap |
AverageReciprocalHitRankEvaluator | arhr |
DiversityEvaluator | diversity |
HitRateEvaluator | hitrate |
IdealDCGEvaluator | idcg |
NormalizedDCGEvaluator | ndcg |
PrecisionEvaluator | precision |
RecallEvaluator | recall |
ReciprocalRankEvaluator | rr |
MAEEvaluator | mae |
MPEEvaluator | mpe |
MSEEvaluator | mse |
RMSEEvaluator | rmse |
注意,在评估器进行配置时,对于 rating 的算法如果配置 ranking 的评估期,可能最后也会生成结果,但是此评估结果不具有意义,亦无法与其他算法进行比较. 与 rating 相比,使用 ranking 算法还需要配置 rec.recommender.ranking.topn。
在使用 java 进行实现评估器时,评估器的实例作为 Recommender 类中 evaluate 方法的参数传入 Recommender 的对象中. 其中 Recommender 的对象可以为不同的推荐算法. 而 RecommenderEvaluator 的实例也可以使用不同的评估器. 在 Java 中也可以采用多种不同的评估器来对结果进行评估,只需生成相应的评估器即可. 示例代码如下:
RecommenderEvaluator evaluator = new MAEEvaluator();
double evalValue = recommender.evaluate(evaluator);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论