기본적으로 추천 시스템에서 사용되는 협업필터링
성능평가 도구 : surprise - SVD
협업필터링을 구현하기 위해서 다양한 라이브러리가 존재하는데 그 중 surprise 를 사용하고 SVD 알고리즘을 사용하였다.
SVD(특이값 분해)는 대규모 행렬을 분해하는 방법 중 하나로, 협업 필터링에서 사용되는 대표적인 알고리즘 중 하나라고 한다.
6만개 이상의 데이터라서 제안하는 성능평가도 아니고 비교성능평가인데 학습시간이랑 작업이 비효율적일 수 있을 것 같아 샘플링을 진행하였다.
샘플링의 방법은 직관적으로 생각하는 랜덤 방식으로 선택하여 학습시켜주었다.
생각보다 구현 결과가 낮게 나와서 놀랐다. (낮게 나오면 나야 땡큐인데, 그래도 왜 이렇게 낮게 나왔는지 궁금해서 찾아보니)
협업필터링의 성능이 낮은 이유
일반적으로 데이터셋이 많고 밀집되어 있다면, 협업 필터링은 높은 성능을 보인다고 한다.
하지만, 데이터셋이 작거나 희소하다면 성능이 낮아질 수 있다고.0.
또한 다른 추천 시스템 기법과 비교하여 협업 필터링의 성능이 상대적으로 떨어질 수 있다. 따라서 데이터의 특성에 맞는 적절한 추천 시스템 기법을 선택하고 적용하는 것이 중요하다
예상치 못했는데 이렇게 낮게 나와줘서,, 내 기법의 성능이 이것보다는 반절은 높을 듯.. 0.5는 나와줘야 하는데 0.4 의 정밀도와 재현율을 갖는다~
'2023-4 > 졸업 논문' 카테고리의 다른 글
[학회논문] Top-k 추천 수식 생성 (0) | 2023.04.13 |
---|---|
[성능평가] keyerror (0) | 2023.04.11 |
[성능평가] 협업필터링 데이터셋 만들기 (0) | 2023.04.11 |
클러스터링과 분류 (0) | 2023.04.06 |
데이터 전처리 (0) | 2023.03.22 |