Как рассчитать расстояние от канберры на python (с примером)


Расстояние Канберры между двумя векторами A и B рассчитывается следующим образом:

Расстояние от Канберры = Σ |A i -B i | / (|А i | + |B i |)

Золото:

  • A i : i- е значение вектора A.
  • B i : i- е значение в векторе B.

Например, предположим, что у нас есть следующие два вектора:

  • А = [2, 4, 4, 6]
  • Б = [5, 5, 7, 8]

Мы бы рассчитали расстояние в Канберре между A и B следующим образом:

  • Расстояние от Канберры = |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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *