PearsonCorrelationSimilarity
을 사용하여 간단한 아이템 기반 추천기를 평가하려고합니다. 나는 많은의Mahout - 아이템이 테스트 데이터에 있지만 훈련 데이터가 없습니다.
INFO eval.AbstractDifferenceRecommenderEvaluator: Item exists in test data but not training data:
의를 얻고 그것을 실행하면
DataModel model = new FileDataModel(new File("FILE_NAME"));
RecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator();
RecommenderBuilder recommenderBuilder = new RecommenderBuilder() {
@Override
public Recommender buildRecommender(DataModel model) throws TasteException {
ItemSimilarity similarity = new PearsonCorrelationSimilarity(model);
Optimizer optimizer = new ConjugateGradientOptimizer();
return new KnnItemBasedRecommender(model, similarity, optimizer, N);
}
};
score = evaluator.evaluate(recommenderBuilder, null, model, 0.7, 1.0);
: 나는 사용자 ID가 포함 된 파일에서 DataModel
를로드 (이 순서대로) 우선, 타임 스탬프 내 코드가 같이 보입니다를 항목 ID
이 항목은 내 DataModel
또는 평가자와 관련이 있습니다. 나는 RMSRecommenderEvaluator
과 AverageAbsoluteDifferenceRecommenderEvaluator
모두 시도했지만 동일한 정보 통지를 받고 있습니다. 나는 또한 사용을 시도했다 RandomUtils.useTestSeed();.
UserSimilarity
메트릭을 사용하여 같은 것을 실행할 때이 문제가 발생하지 않는다.
제 질문은 내 평가 결과에 영향을 줍니까?
감사합니다. Dragan