Mysql
 sql >> Database >  >> RDS >> Mysql

Un modo efficace per calcolare una percentuale di somiglianza tra i set di dati

Il modo standard per farlo è la somiglianza di Jaccard. Se A è l'insieme degli obiettivi del primo utente e B è l'insieme degli obiettivi del secondo utente, la somiglianza di Jaccard è:

#(A intersect B)/#(A union B)

Questo è il numero di obiettivi che condividono diviso per il numero totale di voti che i due hanno insieme (contando gli obiettivi che condividono una sola volta). Quindi se il primo utente ha obiettivi A={1,2,3} e il secondo utente ha obiettivi B={2,4} allora è questo:

A intersect B = {2}
A union B = {1,2,3,4}

#(A intersect B)/#(A union B) = 1/4

La somiglianza di Jaccard è sempre compresa tra 0 (non condividono obiettivi) e 1 (hanno gli stessi obiettivi), quindi puoi ottenere una percentuale moltiplicandola per 100.

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