□ 목적
▶ Ranking Systems의 목표는 각 사용자에 대해 가장 관련성 높은 문서 집합을 만들어서 제공하는 것이다. ▶검색 or 추천 등에 사용 |
□ 측정 항목
Ranking System의 1.집합의 관련성 2.알고리즘의 효율성의 측정 항목에 대해서 먼저 설명이 필요하다.
|
□ Spark Documents
▶ 우선 Spark Documents의 예제를 보자. ▶ 설명에 아래 내용이 적혀 있다. 무슨 말인지 모르겠다. 뭔지 알아보자. |
□ Precision at K
▶top의 k개 결과로 Precision(정밀도)계산 ▶예시: 검색 결과 페이지들의 관련(relevant)이 있는 것은 O로 없는 것은 X라고 표현했을 경우 O, X, O, O, O, X 이라면 Precision 3의 값은 O, X, O중에 O의 갯수 2/3 Precision 4의 값은 O, X, O, O 임으로 3/4 Precision 5의 값은 4/5 이 된다. ※ Precision 3은 3개 중에 2개가 관련 있고 1개는 관련이 없는 내용 임으로 정밀도는 2/3이 된다.
|
□ Mean Average Precision
▶평균 정밀도의 평균을 취하여 여러 쿼리의 순위를 요약 ▶예시: 첫번째 검색 결과가 Ranking #1이라고 한다면 O, X, O, X, X, O, X, X, O, O으로 0.62가 되고 두번째 검색 결과인 Ranking #2는 0.44로 ※ Mean Average Precision (MAP)은 0.53 이 된다. |
□ Normalizing Discounted Cumulative Gain (NDCG)
▶검색 사용자의 대부분이 결과의 1,2 페이지 정도만 참고함에 따라 정확한 성능 평가가 어려움 ▶추천에 경우에도 사용자가 상위 추천에서 참고한다. ▶이에, 기존의 precision, recall 방법 측정의 한계로 Normalizing Discounted Cumulative Gain를 측정한다. ▶검색 결과 상위 1,2위 사이는 큰 차이지만 낯은 순위는 차이가 거의 없다. ▶예시 검색엔진의 순위대로 rel 등급이 4, 2, 0, 1로 나왔다면 ideal vector는 4, 2, 1, 0이 된다. 이에, CG는 4, 4+2=6, 4+2+1=7, 4+2+1+0=7 이 되고 ICG는 4, 6, 7, 7이다. DCG는 4 + (2÷ log₂ 2) + (0÷ log₂ 3) + (1÷ log₂ 4) = 6.5 이고 IDCG는 4 + (2÷ log₂ 2) + (1÷ log₂ 3) + (0÷ log₂ 4) = 6.64 이다. 결과 ※ NDCG => DCG / IDCG = 6.5 / 6.64 = 0.979이 된다.
|
※ 위의 내용들은 모델 정확성 평가 항목이 되며 Spark MLlib을 통해 구할 수 있다.
'데이터 분석' 카테고리의 다른 글
MLlib(K-Means) + SparkStreaming 실시간 Clustering (1) (0) | 2018.02.13 |
---|---|
Spark - Ranking systems (2) - 예제 테스트 (0) | 2017.07.24 |
Spark - AssociationRules (0) | 2017.07.21 |
Spark - Multiclass classification (0) | 2017.07.20 |
Spark - Isotonic Regression (0) | 2017.07.03 |