鍍金池/ 教程/ Java/ Evaluator
FilmTrust
DataModel
Librec
Recommender
Filter
Configuration list
Evaluator
Introduction
DataFileFormat
Algorithm list
CommandLine walkthrough
Librec Document

Evaluator

RecommenderEvaluator接口用于實(shí)現(xiàn)對(duì)特定算法的評(píng)估. 目前實(shí)現(xiàn)對(duì)于ranking的評(píng)估器有AUC, AveragePrecision, AverageReciprocalHitRank, Diversity, HitRate, IdealDCG, Normalized, Precision, Recall, REciprocalRank十類評(píng)估器. 對(duì)于rating實(shí)現(xiàn)評(píng)估器MAE, MPE, MSE, RMSE四類.

若在配置文件中不進(jìn)行評(píng)估器的指定, 最終評(píng)估時(shí)使用對(duì)應(yīng)類型的全部評(píng)估器.

指定評(píng)估器的配置示例:

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

不同評(píng)估器相應(yīng)的簡(jiǎn)寫見下表

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

注意, 在評(píng)估器進(jìn)行配置時(shí), 對(duì)于rating的算法如果配置ranking的評(píng)估期, 可能最后也會(huì)生成結(jié)果, 但是此評(píng)估結(jié)果不具有意義, 亦無(wú)法與其他算法進(jìn)行比較. 與rating相比, 使用ranking算法還需要配置rec.recommender.ranking.topn.

在使用java進(jìn)行實(shí)現(xiàn)評(píng)估器時(shí), 評(píng)估器的實(shí)例作為Recommender類中evaluate方法的參數(shù)傳入Recommender的對(duì)象中. 其中Recommender的對(duì)象可以為不同的推薦算法. 而RecommenderEvaluator的實(shí)例也可以使用不同的評(píng)估器. 在Java中也可以采用多種不同的評(píng)估器來(lái)對(duì)結(jié)果進(jìn)行評(píng)估, 只需生成相應(yīng)的評(píng)估器即可. 示例代碼如下:

RecommenderEvaluator evaluator = new MAEEvaluator();
double evalValue = recommender.evaluate(evaluator);
上一篇:Algorithm list下一篇:Configuration list