2013-05-16 2 views
0

나는 마호 마트 (mahout)를 조금 실험하고 모든 것을 만들기 시작하고 예제를 살펴 보았다. 저는 주로 협업 필터링에 관심이 많아서 BookCrossing 데이터 세트에서 추천을 찾는 예제부터 시작했습니다. 나는 모든 것을 작동시킬 수 있었고 샘플은 오류없이 실행됩니다.협업 필터링을위한 mahout 예제 실행 : 결과는 어디에 있습니까?

RecommenderIRStatsEvaluator evaluator = new GenericRecommenderIRStatsEvaluator(); 
File ratingsFile = TasteOptionParser.getRatings(args); 
DataModel model = 
    ratingsFile == null ? new BookCrossingDataModel(true) : new BookCrossingDataModel(ratingsFile, true); 

IRStatistics evaluation = evaluator.evaluate(
    new BookCrossingBooleanRecommenderBuilder(), 
    new BookCrossingDataModelBuilder(), 
    model, 
    null, 
    3, 
    Double.NEGATIVE_INFINITY, 
    1.0); 

log.info(String.valueOf(evaluation)); 

그래서 올바른 것 같다,하지만 난보고 싶다 :

INFO: Creating FileDataModel for file /tmp/taste.bookcrossing. 
INFO: Reading file info... 
INFO: Read lines: 433647 
INFO: Processed 10000 users 
INFO: Processed 20000 users 
INFO: Processed 30000 users 
INFO: Processed 40000 users 
INFO: Processed 50000 users 
INFO: Processed 60000 users 
INFO: Processed 70000 users 
INFO: Processed 77799 users 
INFO: Beginning evaluation using 0.9 of BookCrossingDataModel 
INFO: Processed 10000 users 
INFO: Processed 20000 users 
INFO: Processed 22090 users 
INFO: Beginning evaluation of 4245 users 
INFO: Starting timing of 4245 tasks in 2 threads 
INFO: Average time per recommendation: 296ms 
INFO: Approximate memory used: 115MB/167MB 
INFO: Unable to recommend in 1 cases 
INFO: Average time per recommendation: 67ms 
INFO: Approximate memory used: 107MB/167MB 
INFO: Unable to recommend in 2363 cases 
INFO: Average time per recommendation: 72ms 
INFO: Approximate memory used: 146MB/167MB 
INFO: Unable to recommend in 5095 cases 
INFO: Average time per recommendation: 71ms 
INFO: Approximate memory used: 113MB/167MB 
INFO: Unable to recommend in 7596 cases 
INFO: Average time per recommendation: 71ms 
INFO: Approximate memory used: 130MB/167MB 
INFO: Unable to recommend in 10896 cases 
INFO: Evaluation result: 1.0895580110095793 

내가 코드를 검사 할 때, 나는 즉 볼 수있는이 수행합니다 그러나, outbput이 같은 것입니다 생성 된 제안 및/또는 유사점에 대한 자세한 내용 반환 된 개체는 IRStatistics 형식이며 결과의 통계에 일부 숫자 만 표시됩니다. 내가 다른 곳을 봐야 할까? 이 권장 사항은 실제 추천을 얻으려는 의도가 아니 었습니까?

답변

1

실제로 추천을 생성하지 않으므로 여기에서 평가를 수행하는 중입니다.

Mahout 실천에서 나온이 책 (link)은 실제로 추천을 얻는 방법에 대한 아이디어를 제공합니다.

예제는 한 사용자에 대한 권장 사항 만 요청합니다. 사용자가 모든 사용자를 반복하고 모든 사용자 권장 사항을 얻은 다음 파일로 출력하는 것과 같은 작업을 결정할 수 있습니다.

또한이 예제는 데이터 모델 빌더 또는 recommender builder를 사용하지 않지만 메소드 서명을보고 알아낼 수는 없습니다.

+0

아, 멋지다. 나는이 예에서 너무 많이 기대하고 있었다. –

+0

예,이 곳을 잘못 보았습니다. 권장 사항은 17 페이지의 예제에서 가장 간단하게 작성됩니다. –

관련 문제