Коефіцієнт Танімото (англ. 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))

Примітки

ред.

Посилання

ред.

Джерела

ред.