클러스터링에서 정밀도를 계산하고 리콜하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/657890

  •  19-08-2019
  •  | 
  •  

문제

클러스터링 애플리케이션에서 정밀도를 계산하고 리콜하는 방법이 정말 혼란 스럽습니다.

다음과 같은 상황이 있습니다.

두 세트 A와 B가 주어지면 각 요소에 고유 키를 사용하여 A 및 B 일치의 요소 중 어느 것이 결정될 수 있습니다. 기능을 기반으로 해당 요소를 클러스터링하고 싶습니다 (고유 키를 사용하지 않음).

클러스터링을하고 있지만 정밀도를 계산하고 리콜하는 방법을 잘 모르겠습니다. 용지에 따르면 "클러스터 검색을위한 확장 된 성능 그래프"에 따르면 공식 (http://staff.science.uva.nl/~incu/publications/cvpr01_nies.pdf) 이다:

p = 정밀 = 관련 검색 항목/검색된 항목 및 r = Reclem = 관련 항목/관련 항목

나는 어떤 범주에 어떤 요소가 떨어지는 지 실제로 얻지 못합니다.

내가 지금까지 한 것은 클러스터 내에서 내가 가지고있는 일치하는 쌍 (고유 키 사용)을 확인했습니다. 이미 정밀도 중 하나입니까, 회상입니까? 그렇다면 어떤 것이 무엇이며 어떻게 다른 하나를 계산할 수 있습니까?

업데이트 : 방금 "비 결정 수의 클러스터를 사용한 감독되지 않은 클러스터링의 평가를위한 F- 측정"이라는 제목이있는 다른 논문을 발견했습니다. http://mtg.upf.edu/files/publications/unsuperf.pdf.

도움이 되었습니까?

해결책

Wikipedia가 도움이된다고 생각합니다 정밀도 및 리콜에 관한 기사. 요컨대 :

정밀도 = 진정한 긍정적 / (진정한 긍정적 + 거짓 긍정)

Recall = True Ponitives /(진정한 양성 + 거짓 부정)

다른 팁

클러스터링 방법에 액세스하는 데 수행 한 일부 연구에서 사용했던 클러스터 유효성에 대한 몇 가지 측정 값이 있습니다. 클래스 (감독 클러스터링)가 표시된 데이터 세트가있는 경우, 위에서 언급 한대로 정밀도 및 리콜 또는 순도 및 엔트로피를 사용할 수 있습니다.

클러스터의 순도 = 가장 빈번한 클래스의 발생 수 / 클러스터의 크기 (이것은 높아야 함)

클러스터의 엔트로피 = 클러스터와 분산 된 클래스의 방법에 대한 척도 (이것은 낮아야 함)

클래스 레이블 (감독되지 않은 클러스터링)이없는 경우, 인트라 및 상호 유사성은 좋은 조치입니다.

단일 클러스터에 대한 클러스터 내 유사성 = 클러스터 내의 모든 쌍의 평균 코사인 유사성 (이것은 높아야 함)

단일 클러스터의 클러스터 간 유사성 = 한 클러스터의 모든 항목의 평균 코사인 SIM 다른 모든 클러스터의 모든 항목과 비교하여 (낮아야 함)

이 백서에는이 네 가지 조치 모두에 대한 좋은 설명이 있습니다.http://glaros.dtc.umn.edu/gkhome/fetch/papers/edcicail05.pdf

감독되지 않은 F- 측정과의 멋진 링크, 나는 지금 그것을 조사하고 있습니다.

내가이 문제로 만드는 것은 다음과 같습니다.

세트 a와 b 중 하나는 "긍정적"입니다. A가 긍정적이라고 가정하자

클러스터에있는 요소를 감안할 때

  1. B의 일치 요소는 동일한 클러스터에 있습니다. 진정한 긍정적입니다
  2. B의 일치 요소는 동일한 클러스터에 있지 않습니다. 그것은 거짓 부정입니다
  3. B의 비 매칭 요소는 동일한 클러스터에 있습니다. 거짓 긍정적입니다
  4. B의 비 매칭 요소는 동일한 클러스터에 있지 않습니다. 진정한 부정입니다.

그냥 사용하십시오

정밀도 = 진정한 긍정적 / (진정한 긍정적 + 거짓 긍정)

Recall = True Positives /(진정한 양성 + 거짓 부정) 누군가가 언급 한 바와 같이

나는 당신의 정의에 문제가 있다고 생각합니다.

정밀도와 리콜은 분류 문제에 적합하며 기본적으로 두 클러스터 문제입니다. "좋은 항목"(= 검색된 항목) 및 "나쁜 항목"(= 검색되지 않은 항목)과 같은 것으로 클러스터링 한 경우 정의가 의미가 있습니다.

귀하의 경우 모든 항목에서 올바른 클러스터링의 백분율을 계산했습니다. 이는 정밀도와 비슷하지만 실제로 정의가 적용되지 않기 때문이 아닙니다.

클러스터링 알고리즘을 평가하는 방법은 "정보 검색 소개", 18 장 (Fat Clustering)을 참조하십시오.http://nlp.stanford.edu/ir-book/html/htmledition/flat-clustering-1.html

이 책 의이 섹션은 정밀도 및 리콜과 같은 지표를 논의 할 때 유용 할 수 있습니다.http://nlp.stanford.edu/ir-book/html/htmledition/evaluation-of-unranked-retieval-sets-1.html

정밀도와 리콜의 문제점은 일반적으로 '진정한'라벨이 무엇인지에 대한 아이디어가 필요하지만 많은 경우 (그리고 설명에서) 라벨을 알지 못하지만 알고 있습니다. 분할 비교합니다. 나는 제안 할 것이다 조정 된 랜드 색인 아마도:

http://en.wikipedia.org/wiki/rand_index

세트 중 하나를 고려하면 금 클러스터링 클러스터링 프로세스의 출력으로서 다른 세트 (b)는 (정확한) 정밀도 및 리콜 값을 다음과 같이 추정 할 수 있습니다.

정밀 = (A 및 B에 공통적 인 요소 수)/(B의 요소 수)

리콜 = (A 및 B에 공통적 인 요소 수)/(A의 요소 수)

이러한 표준 F 측정에서도 추정 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top