Коефіцієнт Танімото

Коефіцієнт Танімото (англ. coefficient Tanimoto) — описує ступінь подібності двох множин.

Застосування

Коефіцієнт Танімото застосовується для:

  • визначення рівня схожості двох множин об'єктів;
  • виокремлення груп (кластерів) об'єктів з однаковими властивостями (наприклад, пошук людей з однаковими уподобаннями);
  • визначення молекулярної схожості.

Обчислення

Формула для обчислення коефіцієнта Танімото:[1]
:

де Т(A,B) — коефіцієнт Танімото — коефіцієнт схожості множин А та В;
 — кількість елементів в множині A;
 — кількість елементів в множині B;
 — кількість спільних для множин A і B елементів.

T приймає значення від 0 до 1. Чим ближче значення Т до 1, тим більш схожі множини.

Представлення через перетин та об'єднання множин

Коефіцієнт Танімото визначає рівень схожості множин через відношення перетину до об'єднання множин:

Векторне представлення

Припустимо, у нас є N об'єктів. Оцінки, виставлені певним користувачем цим об'єктам, можуть бути представлені як вектор а у N-вимірному просторі об'єктів. Коефіцієнт Танімото використовується для порівняння вектора а з вектором b:

де -скалярний добуток векторів a та b; та довжини векторів а та b відповідно.

Реалізація на Python

Визначення схожості двох списків (строк) з використанням мови програмування Python[2]:

# Inputs: two lists
# Output: the Tanimoto Coefficient
def tanimoto (list1, list2)
  intersection = [common_item for common_item in list1 if common_item in list2]
  return float(len(c))/(len(a) + len(b)  len(c))

Посилання

Джерела

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.