Closed sirin05137 closed 3 years ago
결국 limit이 커질 수록 입력값에 관계없이 결과값이 점점 유사해지는 것을 볼 수 있다.(유사도가 무시된다.)
이를 해결하기 위해 높은 유사도 순으로 정렬한 리스트에서 limit의 수 만큼을 그냥 결과값으로 출력하는 방법이 있다. 하지만 이 방법은 각 영화들의 평점을 알 수 없으므로 유사하지만 재미없는 영화들을 추천 할 수 있다는 문제점이 있다.
그냥 현행 유지가 나을까, 아니면 다른 좋은 방법이 있을까
마일스톤3 파트 2에서 아이템 기반 협업 필터링을 사용하는 경우, 우선 유사도가 높은 순서로 정렬하고 그 다음 첫번째 항목부터 (limit*1.5)번째 항목까지를 변형된 IMDb방식으로 평가하여 순위를 매긴다. 하지만 이 순위는 limit의 크기에 따라 크게 달라진다.
Limit이 10이나 20같이 작은 경우
비교적 유사도가 높은 데이터셋에서 순위를 정하기 때문에 결과값 또한 유사도가 높다.
Limit이 1000과 같이 큰 경우
유사도는 현저히 낮지만 많은 사람들이 관람하였고 평점이 매우 높은 영화들이 우선적으로 추천된다. 즉 유사도가 높은 영화들은 거의 대부분이 상위 순위에서 찾을 수 없다. 만약 두 영화 A와 B가 있을 때 limit이 커지면 커질 수록 결과값의 상위 순위가 유사해진다.