Comment calculer la distance de Canberra en Python (avec exemple)
La distance de Canberra entre deux vecteurs A et B est calculée comme suit :
Distance de Canberra = Σ |A i -B i | / (|UNE je | + |B je |)
où:
- A i : La ième valeur du vecteur A
- B i : La i ème valeur dans le vecteur B
Par exemple, supposons que nous ayons les deux vecteurs suivants :
- UNE = [2, 4, 4, 6]
- B = [5, 5, 7, 8]
Nous calculerions la distance de Canberra entre A et B comme suit :
- Distance de Canberra = |2-5|/(2+5) + |4-5|/(4+5) + |4-7|/(4+7) + |6-8|/(6+8)
- Distance de Canberra = 3/7 + 1/9 + 3/11 + 2/14
- Distance de Canberra = 0,95527
La distance de Canberra entre ces deux vecteurs est de 0,95527 .
L’exemple suivant montre comment calculer la distance de Canberra entre ces deux vecteurs exacts en Python.
Exemple : Calculer la distance de Canberra en Python
Tout d’abord, créons un tableau NumPy pour contenir chacun de nos vecteurs :
import numpy as np #define two arrays array1 = np.array([2, 4, 4, 6]) array2 = np.array([5, 5, 7, 8])
Ensuite, nous pouvons utiliser la fonction canberra() du package SciPy en Python pour calculer la distance de Canberra entre les deux vecteurs :
from scipy.spatial import distance
#calculate Canberra distance between the arrays
distance.canberra(array1, array2)
0.9552669552
La distance de Canberra entre les deux vecteurs est de 0,95527 .
Notez que cette valeur correspond à celle que nous avons calculée manuellement précédemment.
Remarque : Vous pouvez trouver la documentation complète de la fonction canberra() du package SciPy ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment calculer d’autres métriques de distance courantes en Python :
Comment calculer la distance euclidienne en Python
Comment calculer la distance de Manhattan en Python
Comment calculer la distance de Hamming en Python
Comment calculer la distance de Mahalanobis en Python
Comment calculer la distance de Levenshtein en Python