Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Maneira eficaz de calcular uma porcentagem de similaridade entre conjuntos de dados


A maneira padrão de fazer isso é a semelhança de Jaccard. Se A é o conjunto de objetivos do primeiro usuário e B é o conjunto de objetivos do segundo usuário, a similaridade de Jaccard é:
#(A intersect B)/#(A union B)

Este é o número de gols que eles compartilham dividido pelo número total de votos que os dois têm juntos (contando os gols que eles compartilham apenas uma vez). Então, se o primeiro usuário tem metas A={1,2,3} e o segundo usuário tem metas B={2,4} então é isso:
A intersect B = {2}
A union B = {1,2,3,4}

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

A semelhança de Jaccard está sempre entre 0 (eles não compartilham objetivos) e 1 (eles têm os mesmos objetivos), então você pode obter uma porcentagem multiplicando-a por 100.

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