Як розрахувати відстань від канберри на python (з прикладом)


Відстань Канберра між двома векторами A і B обчислюється наступним чином:

Відстань від Канберри = Σ |A i -B i | / (|A i | + |B i |)

золото:

  • A i : i-те значення вектора A
  • B i : i- те значення у векторі B

Наприклад, припустимо, що ми маємо такі два вектори:

  • A = [2, 4, 4, 6]
  • B = [5, 5, 7, 8]

Ми розрахуємо відстань Канберри між А і В наступним чином:

  • Відстань від Канберри = |2-5|/(2+5) + |4-5|/(4+5) + |4-7|/(4+7) + |6-8|/(6+8) ) )
  • Відстань від Канберри = 3/7 + 1/9 + 3/11 + 2/14
  • Відстань від Канберри = 0,95527

Канберрська відстань між цими двома векторами дорівнює 0,95527 .

У наступному прикладі показано, як обчислити відстань Канберра між цими двома точними векторами в Python.

Приклад: обчисліть відстань від Канберри в Python

Спочатку давайте створимо масив NumPy для кожного з наших векторів:

 import numpy as np

#define two arrays
array1 = np. array ([2, 4, 4, 6])
array2 = np. array ([5, 5, 7, 8])

Потім ми можемо використати функцію canberra() із пакету SciPy у Python, щоб обчислити відстань Канберра між двома векторами:

 from scipy. spatial import distance

#calculate Canberra distance between the arrays
distance. canberra (array1, array2)

0.9552669552

Канберрська відстань між двома векторами дорівнює 0,95527 .

Зверніть увагу, що це значення відповідає тому, яке ми розрахували вручну раніше.

Примітка . Ви можете знайти повну документацію функції canberra() із пакета SciPy тут .

Додаткові ресурси

У наступних посібниках пояснюється, як обчислити інші загальні показники відстані в Python:

Як розрахувати евклідову відстань у Python
Як розрахувати відстань до Манхеттена в Python
Як обчислити відстань Хеммінга в Python
Як обчислити відстань Махаланобіса в Python
Як розрахувати відстань Левенштейна в Python

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *