Como calcular a distância de camberra em python (com exemplo)


A distância de Canberra entre dois vetores A e B é calculada da seguinte forma:

Distância de Camberra = Σ |A i -B i | / (|A i | + |B i |)

Ouro:

  • A i : O i- ésimo valor do vetor A
  • B i : O i-ésimo valor no vetor B

Por exemplo, suponha que temos os dois vetores a seguir:

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

Calcularíamos a distância de Canberra entre A e B da seguinte forma:

  • Distância de Camberra = |2-5|/(2+5) + |4-5|/(4+5) + |4-7|/(4+7) + |6-8|/(6+8 ) )
  • Distância de Camberra = 3/7 + 1/9 + 3/11 + 2/14
  • Distância de Camberra = 0,95527

A distância de Canberra entre esses dois vetores é 0,95527 .

O exemplo a seguir mostra como calcular a distância de Canberra entre esses dois vetores exatos em Python.

Exemplo: Calcule a distância de Camberra em Python

Primeiro, vamos criar um array NumPy para armazenar cada um dos nossos vetores:

 import numpy as np

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

Então, podemos usar a função canberra() do pacote SciPy em Python para calcular a distância de Canberra entre os dois vetores:

 from scipy. spatial import distance

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

0.9552669552

A distância de Camberra entre os dois vetores é 0,95527 .

Observe que este valor corresponde ao que calculamos manualmente anteriormente.

Nota : Você pode encontrar a documentação completa da função canberra() do pacote SciPy aqui .

Recursos adicionais

Os tutoriais a seguir explicam como calcular outras métricas de distância comuns em Python:

Como calcular a distância euclidiana em Python
Como calcular a distância de Manhattan em Python
Como calcular a distância de Hamming em Python
Como calcular a distância de Mahalanobis em Python
Como calcular a distância de Levenshtein em Python

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *