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