Per i non statistici come me, è molto difficile catturare l'idea di VI
metrica (variazione delle informazioni) anche dopo aver letto l'articolo pertinente di Marina Melia " Confronto di clustering - Una distanza basata sull'informazione " (Journal of Multivariate Analysis, 2007). In effetti, non ho familiarità con molti dei termini dei raggruppamenti là fuori.
Di seguito è riportato un MWE e vorrei sapere cosa significa l'output nelle diverse metriche utilizzate. Ho questi due cluster in R e nello stesso ordine di id:
> dput(a)
structure(c(4L, 3L, 4L, 4L, 4L, 4L, 4L, 3L, 4L, 4L, 3L, 3L, 3L,
4L, 4L, 4L, 4L, 4L, 3L, 4L, 4L, 4L, 3L, 4L, 4L, 3L, 4L, 4L, 4L,
1L, 1L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 4L, 4L, 3L, 4L, 4L, 2L, 2L,
4L, 3L, 3L, 2L, 2L, 2L, 4L, 3L, 4L, 4L, 3L, 1L, 4L, 3L, 4L, 4L,
4L, 3L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 4L, 3L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 3L, 4L, 4L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 4L,
4L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 4L, 4L, 4L, 4L, 2L, 2L, 4L
), .Label = c("1", "2", "3", "4"), class = "factor")
> dput(b)
structure(c(4L, 3L, 4L, 4L, 4L, 4L, 4L, 3L, 4L, 4L, 3L, 3L, 3L,
4L, 4L, 3L, 4L, 4L, 3L, 4L, 4L, 4L, 3L, 4L, 4L, 3L, 4L, 4L, 4L,
1L, 1L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 4L, 4L, 3L, 4L, 4L, 2L, 2L,
4L, 3L, 3L, 2L, 2L, 2L, 4L, 3L, 4L, 4L, 3L, 1L, 4L, 3L, 4L, 4L,
3L, 3L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 4L, 3L, 3L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 3L, 4L, 4L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 4L,
4L, 3L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 4L, 4L, 4L, 4L, 2L, 2L, 4L
), .Label = c("1", "2", "3", "4"), class = "factor")
Ora facendo confronti basati sia su VI
altre metriche / indici sia in ordine cronologico del loro aspetto in letteratura.
library(igraph)
# Normalized Mutual Information (NMI) measure 2005:
compare(a, b, method = c("nmi"))
[1] 0.8673525
# Variation of Information (VI) metric 2003:
compare(a, b, method = c("vi"))
[1] 0.2451685
# Jaccard Index 2002:
clusteval::cluster_similarity(a, b, similarity = c("jaccard"), method = "independence")
[1] 0.8800522
# van Dongen S metric 2000:
compare(a, b, method = c("split.join"))
[1] 8
# Adjusted Rand Index 1985:
compare(a, b, method = c("adjusted.rand"))
[1] 0.8750403
# Rand Index 1971:
compare(a, b, method = c("rand"))
[1] 0.9374788
Come puoi vedere, il VI
valore era diverso da tutti gli altri.
- Cosa dice questo valore (e in che modo è correlato alla figura seguente)?
- Quali sono le linee guida per considerare questo valore basso o alto?
- Ci sono delle linee guida definite?
Forse gli esperti del settore possono fornire alcune descrizioni sensate per i laici come me quando provano a riferire tali risultati. Gradirei davvero se qualcuno fornisse anche linee guida per altre metriche (quando considerare il valore è grande o piccolo, cioè in relazione a una somiglianza tra due cluster).
Ho letto i thread CV correlati qui e qui , ma ancora non riesco a cogliere l'intuizione dietro VI
. Qualcuno può spiegarlo in un inglese semplice?
La figura seguente è la figura 2 del documento sopra citato VI
.