2014-07-25 5 views
0

mahout을 사용하여 itemismilarity를 ​​생성하려고합니다. 문제는 출력에서 ​​유사점이 거의 없다는 것입니다. 환경 설정의환경 설정으로 유사 항목 결과를 얻을 수 없습니다 (booleanValue = false)

  • 15.910.847 총 수
  • 4.047.745 별개의 사용자
  • 773.015 별개의 항목 내가 사용자와 prefereces
  • 의 분포를 구축했습니다 : 여기

    내 입력 데이터의 특성이다

첫 번째 열은 별개의 사용자의 수이다

두 번째 열은 사용자 당 기본 설정 수입니다. 예를 들어, 하나의 환경 설정 만있는 2.221.760 사용이 있습니다. 여기

2221760 1 
688258 2 
322497 3 
192003 4 
122446 5 
87033 6 
63733 7 
49556 8 
39090 9 
31637 10 
25634 11 
내 입력 설정은 다음과 같습니다

similarityClassname=SIMILARITY_PEARSON_CORRELATION 
maxSimilaritiesPerItem=100000 
minPrefsPerUser=0 

booleanData=false 
threshold=0.75 

답변

0

열 1 0에서 사용자 수를 통해, 두싯 사용자 ID이어야한다 - 1 열이 있어야합니다 두싯 항목 ID에서 0 ~ 항목 수 - 1 사용자가 선호하는 각 항목을 기록하려는 환경 설정을 계산할 수 없습니다. 열 3은 선호도와 같은 선호도입니다 (예 :

).210

ID는 행렬 또는 테이블의 행 및 열 번호와 같습니다. 0,0은 사용자 0 항목 0이고, 값은 등급입니다.

항목 유사도 결과를 읽을 때 ID를 Mahout ID로 변환 한 다음 다시 ID로 변환해야합니다.

+0

안녕하세요 :) mahout 사용자 그룹에서 귀하의 답변을 받았습니다. org.apache.mahout.cf.taste.hadoop.similarity.item.ItemSimilarityJob을 사용하고 있는데 숫자 사용자 및 항목 ID를 범위 [0..qtty_of_users], [0..qtty_of_items]에 매핑하기위한 요구 사항을 찾을 수 없습니다. 환경 설정 데이터를 mahout에 넘겨주기 전에 .... org.apache.mahout.cf.taste.hadoop.item.RecommenderJob에 대해서도 마찬가지이다. itemSimilarityMatrix를 얻을 수있는 곳은 – Sergey

+0

이다. 이것을 설명하는 wiki 페이지를 작성하겠습니다. 우리는 방금 0.9 릴리스 용 Wiki를 다시 작성 했으므로 놓친 것입니다. – pferrel

+0

위대한, 시도하고보고하려고합니다. – Sergey

0

도움이되지 않았습니다. 나는 apache pig Rank 함수를 사용하여 각각의 고유 한 user_id에 대해 1..N id를 부여하고 각 item_id에 대해 1..M을 제공했습니다. 나는 [1..N], item_id [1..M]의 user_id, preference : 1.0 또는 2.0, 출력 결과가 4 * 10^6 사용자들과 꽤 똑같은 16 * 10^6 환경 설정 인 DataSet으로 ItemSimilarityJob을 공급했다. 7 * 10^5 개 항목은 10 개 항목에 대해 10^3 개의 유사점 만 제공합니다 ... 내가 뭘 잘못 했습니까? 입력 데이터 집합은 항목/사용자 ID별로 정렬해야합니까? - Sergey Jul 27 at 20:46

이는 Mahout 취향 구현이 int를 user_ids의 입력으로 받아들이 기 때문입니다. MAX.int 값을 오버플로하는 항목을 제공하면 최소값으로 롤오버되므로 고유 한 사용자로 추가되지 않습니다.

Mahout에 피드를 보내기 전에 user.id가 MAX.int 값을 초과하면 해시 할 수 있습니다. 또는 영숫자 ID를 가지고 user_id 입력을위한 ID-Migrator 클래스를 사용할 수도 있습니다.

0
  • 나는 이산 선호
    • , 그것은 내가해야 모르겠어요 PARAM booleanData=true
    • 으로 좋아하지 작품 임계 값을 사용하지 마십시오 "다시 매핑을 사용하기 때문에 내가 COSINE_SIMILARTY 대신 SIMILARITY_PEARSON_CORRELATION를 사용한다 "내 자연스러운 사용자, [0 ... N]을 대리 할 아이템 ID.풀 같은

문제점 보인다. 고마워요!