mahout에는 itemsimilarity
이라는 항목 기반 협업 필터링을위한 구현 된 방법이 있습니다.항목 기반의 협업 필터링 - 사용자 격리 없음
이론적으로 항목 간의 유사도는 두 항목의 순위가 매겨진 사용자에 대해서만 계산되어야합니다. 테스트를하는 동안 나는 그것이 mahout에서 다르게 작동한다는 것을 깨달았습니다.
아래 예제에서 항목 11과 12 사이의 유사성은 1이지만 마우 아웃 출력은 0.36이어야합니다. 환경과
101 102 0.36602540378443865
매트릭스 : 그것은 부리는 같다
11 12
1 1
2 1
3 1 1
4 1
은 0
로 널 처리예 1 항목 항목 사이 11-12
유사하다
예 2 항목은 101-103입니다. 항목 사이
비슷한 : 기본으로
101 102 0.2612038749637414
101 103 0.4340578302732228
102 103 0.2600070276638468
매트릭스 : 항목 101 사이
101 102 103
1 1 0.1
2 1 0.1
3 1 0.1
4 1 1 0.1
5 1 1 0.1
6 1 0.1
7 1 0.1
8 1 0.1
9 1 0.1
10 1 0.1
비슷한 102 산출 사용자 만 4 및 5 순위 및 아이템 (101)와 동일해야 및 103 (이론에 근거해야 함). 여기서 (101,103)은 (101,102)보다 더 유사하며 그렇게해서는 안됩니다.
두 예제 모두 추가 매개 변수없이 실행되었습니다.
이 문제는 어떻게 든 해결됩니까? 어떤 아이디어?
자료 : http://files.grouplens.org/papers/www10_sarwar.pdf
그래서 항목 간의 유사도는 두 항목을 모두 평가 한 사용자에게만 기반으로 계산됩니까? 내 게시물에 다른 예가 추가되었습니다. 항목 101과 102 사이의 유사성은 사용자 4와 5에 대한 순위와 항목 101과 항목 103에 대한 동일성 (이론에 근거해야 함)을 사용하여 계산해야합니다. 어떻게 (101,103)가 (101,102)보다 더 유사 할 수 있습니까? 그래서 올바른 일을하지 않습니다 ... – herder