2009-03-18 31 views
7

Sono davvero confuso su come calcolare la precisione e il richiamo nelle applicazioni di clustering.Come calcolare precisione e richiamo in clustering?

Ho la seguente situazione:

Dati due insiemi A e B. Utilizzando una chiave univoca per ciascun elemento è possibile determinare quale degli elementi di A e B partita. Voglio raggruppare questi elementi in base alle caratteristiche (non utilizzando ovviamente la chiave univoca).

Sto facendo il clustering ma non sono sicuro di come calcolare la precisione e il richiamo. Le formule, secondo la carta "grafici delle prestazioni estese per Cluster Retrieval" (http://staff.science.uva.nl/~nicu/publications/CVPR01_nies.pdf) sono:

p = precisione = rilevanti articoli recuperati/articoli recuperati e r = richiamo = rilevanti articoli recuperati/elementi rilevanti

Davvero non capisco quali elementi rientrano in quale categoria.

Quello che ho fatto fino ad ora è, ho controllato all'interno dei cluster quante coppie di corrispondenza ho (usando la chiave univoca). È già uno di precisione o richiamo? E se sì, quale è e come posso calcolare l'altro?

Aggiornamento: ho appena trovato un altro foglio con il titolo "F-Measure for Evaluation of Clustering non presidiato con numero di cluster non determinati" al numero http://mtg.upf.edu/files/publications/unsuperf.pdf.

risposta

1

Penso che ci sia un problema con le tue definizioni.

Precisione e richiamo sono adatti per problemi di classificazione, che sono fondamentalmente problemi con due cluster. Se avessi raggruppato in qualcosa come "oggetti buoni" (= oggetti recuperati) e "elementi cattivi" (= elementi non recuperati), allora la tua definizione avrebbe senso.

Nel tuo caso hai calcolato la percentuale di cluster corretto tra tutti gli elementi, che è una sorta di precisione simile, ma non proprio perché come ho detto le definizioni non si applicano.

+0

è possibile controllare questa domanda troppo? http://stackoverflow.com/questions/32404742/how-to-calculate-clustering-success-pre-assigment-true-classes-are-known – MonsterMMORPG

2

Cosa faccio di questo problema è:

Uno dei set A e B è "positivo". Immobili supponiamo A è positivo

Dato che per un elemento di A in un cluster

  1. elemento corrispondente di B è nello stesso cluster. è un vero positivo
  2. elemento di corrispondenza di B non è nello stesso cluster. è un falso negativo
  3. l'elemento non corrispondente di B si trova nello stesso cluster. è un falso positivo
  4. l'elemento non corrispondente di B non è nello stesso cluster. è un vero negativo.

Poi basta utilizzare

precisione = veri positivi/(veri positivi + falsi positivi)

Recall = veri positivi/(veri positivies + falsi negativi) come detto da qualcuno

1

Vedere "Introduzione al recupero delle informazioni", capitolo 18 (clustering fat), per i modi di valutare gli algoritmi di clustering. http://nlp.stanford.edu/IR-book/html/htmledition/flat-clustering-1.html

Questa sezione del libro può anche rivelarsi utile in quanto discute metriche come la precisione e richiamo: http://nlp.stanford.edu/IR-book/html/htmledition/evaluation-of-unranked-retrieval-sets-1.html

+0

ty for answer puoi controllare anche questa domanda? http://stackoverflow.com/questions/32404742/how-to-calculate-clustering-success-pre-assigment-true-classes-are-known – MonsterMMORPG

8

Ci sono diverse altre misure di validità cluster che ho usato in alcune ricerche ho' sto facendo in accesso ai metodi di clustering. Nei casi in cui si dispone di un set di dati etichettato con classi (clustering supervisionato) è possibile utilizzare la precisione e il richiamo come sopra menzionato, o la purezza e l'entropia.

purezza di un cluster = il numero di occorrenze della classe più frequente/la dimensione del cluster (questo dovrebbe essere elevata)

Entropia di un cluster = una misura di quanto classi dispersa sono con un cluster (questo dovrebbe essere basso)

Nei casi in cui non si hanno le etichette di classe (clustering senza supervisione), intra e inter similarity sono buone misure.

intra-cluster similarità per un singolo cluster = media somiglianza coseno di tutte le coppie all'interno di un cluster (questo dovrebbe essere alto)

Inter-cluster similarità per un cluster singolo = sim media coseno di tutti gli articoli in un cluster rispetto a tutti gli elementi in ogni altro cluster (questo dovrebbe essere basso)

Questo documento ha alcune buone descrizioni di tutte e quattro queste misure. http://glaros.dtc.umn.edu/gkhome/fetch/papers/edcICAIL05.pdf

Bel collegamento con la F-misura non supervisionata, ci sto occupando proprio ora.

+0

È davvero "una F-measure non supervisionata", o "supervisionata" F-measure "(che richiede che la verità di base sia calcolata) che viene usata solo per valutare il clustering non supervisionato? – shn

0

Se si considera uno dei set, diciamo A, come oro di clustering e l'altro gruppo (B) come uscita del processo di clustering, (esatto) valori di precisione e di richiamo può essere stimata come:

Precision = (Numero di elementi comuni ad a e B)/(numero di elementi in B)

Richiamo = (Numero di elementi comuni ad a e B)/(numero di elementi a)

Da questi standard è possibile stimare anche la misura F.

+1

Non è così facile. A e B sono differenti * partizioni * dell'insieme di dati, non singole parti. Quindi di solito, sia A che B contengono solo il set di dati completo. Pertanto, non è possibile utilizzare gli * elementi *. Quello che puoi fare, è usare tutte le * coppie * di oggetti, dove esiste una coppia in un cluster se e solo se entrambi gli elementi sono nello stesso * cluster *. –

1

Il problema con precisione e richiamo è che in genere richiedono di avere un'idea di quali sono le etichette "vere", mentre in molti casi (e nella descrizione) non si conoscono le etichette, ma si sa la partizione da confrontare.Io suggerirei l'indice Rand regolato forse:

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