Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Effektive Methode zur Berechnung eines Ähnlichkeitsprozentsatzes zwischen Datensätzen

Der Standardweg dafür ist die Jaccard-Ähnlichkeit. Wenn A der Satz von Zielen des ersten Benutzers und B der Satz von Zielen des zweiten Benutzers ist, ist die Jaccard-Ähnlichkeit:

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

Dies ist die Anzahl der gemeinsamen Ziele geteilt durch die Gesamtzahl der Stimmen, die die beiden zusammen haben (unter Berücksichtigung der Ziele, die sie nur einmal teilen). Wenn also der erste Benutzer Ziele A={1,2,3} hat und der zweite Benutzer Ziele B={2,4} hat, dann ist es das:

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

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

Die Jaccard-Ähnlichkeit liegt immer zwischen 0 (sie haben keine gemeinsamen Ziele) und 1 (sie haben die gleichen Ziele), sodass Sie einen Prozentsatz erhalten, indem Sie ihn mit 100 multiplizieren.

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