728x90
반응형
1. Diversity (다양성)
정의: 추천 리스트 내 아이템 간의 유사도가 낮을수록 다양성이 높음
평가 방식: 오프라인, 아이템 임베딩 간 코사인 유사도 등으로 계산
예시 코드:
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np
# 추천 리스트 내 아이템 임베딩 벡터 (예: 5개 아이템)
item_vectors = np.random.rand(5, 100) # 100차원 임베딩
# 유사도 행렬
sim_matrix = cosine_similarity(item_vectors)
# diversity = 1 - 평균 유사도 (자기 자신 제외)
avg_sim = (np.sum(sim_matrix) - len(sim_matrix)) / (len(sim_matrix) * (len(sim_matrix)-1))
diversity = 1 - avg_sim
print("Diversity:", diversity)
2. Novelty (참신성)
정의: 추천된 아이템이 얼마나 일반적으로 덜 소비되는가
평가 방식: 오프라인, 아이템의 전체 소비량(인기도)을 기준
예시 코드:
# 아이템 소비 수 (인기도, 낮을수록 참신함)
item_popularity = {'item1': 5000, 'item2': 300, 'item3': 100, 'item4': 8000, 'item5': 50}
recommended_items = ['item1', 'item3', 'item5']
# 참신성 = 평균 log 역인기도
import numpy as np
novelty = np.mean([1 / np.log2(item_popularity[i] + 1) for i in recommended_items])
print("Novelty:", novelty)
3. Serendipity (뜻밖의 발견)
정의: 예상 밖이면서도 사용자에게 유익했던 추천
평가 방식: 주로 오프라인 + 유저 만족 예측 필요 (예: 이전 모델에서 추천하지 않았던데 유저가 좋아한 것)
예시 코드:
# 예상 가능한 추천 (기존 협업 필터링 모델 등)
expected_items = {'item1', 'item2'}
# 실제 추천 + 사용자 긍정 반응 (클릭, 좋아요 등)
recommended_items = {'item3', 'item4'}
user_liked_items = {'item4'}
# 뜻밖의 발견 = 예상 밖 + 사용자 반응
serendipitous = recommended_items - expected_items
serendipity = len(serendipitous & user_liked_items) / len(recommended_items)
print("Serendipity:", serendipity)
4. Coverage (커버리지)
정의: 전체 아이템 중 추천 시스템이 활용한 아이템의 비율
평가 방식: 오프라인, 추천된 아이템 종류의 수
예시 코드:
# 전체 아이템 수
total_items = 10000
# 추천 시스템이 전체 유저에게 추천한 아이템 집합
recommended_items_all_users = {'item1', 'item2', 'item3', ..., 'item2000'}
coverage = len(recommended_items_all_users) / total_items
print("Coverage:", coverage)
✅ 요약표
지표 | 정의 | 평가 위치 | 핵심 수식 또는 아이디어 |
---|---|---|---|
Diversity | 추천 내 아이템 간 유사도 낮음 | 오프라인 | 1 - avg(cosine_similarity) |
Novelty | 인기도 낮은 아이템 추천 | 오프라인 | avg(1 / log(popularity)) |
Serendipity | 예상 외지만 유익한 추천 | 오프라인(일부 온라인) | (뜻밖 추천 ∩ 유저 반응) / 추천 수 |
Coverage | 전체 아이템 중 실제 추천된 비율 | 오프라인 | len(추천 아이템) / 전체 아이템 수 |
728x90
'추천시스템' 카테고리의 다른 글
Online Evaluation (1) | 2025.04.23 |
---|---|
추천시스템 성능 지표 (0) | 2025.04.23 |
고전적인 추천 알고리즘 (0) | 2025.03.15 |
추천시스템 소개 및 특성 (0) | 2025.03.14 |