Mis a jour le 2025-08-02, 18:50

Distances

Distances :
  • from scipy.spatial import distance
  • distance.euclidean(x, y) : distance euclidienne.
  • distance.correlation(x, y) : distance de corrélation (1 - coefficient de corrélation de Pearson).
  • distance.cosine(x, y) : distance cosinus (1 - cosinus de l'angle entre les 2 vecteurs)
  • si on veut calculer les distances entre paires de vecteurs, il vaut mieux utiliser pdist :
    • myDist = distance.pdist(x, metric = 'euclidean') où x est une matrice n x p. La valeur retournée est une array 1d de dimension n(n-1)/2 avec la valeur de la distance entre 2 individus i1 et i2 (i1 < i2 < n) stockée à l'index n * i1 + i2 - ((i1 + 2) * (i1 + 1)) // 2.
    • il y a beaucoup de metric possibles : euclidean, cityblock, cosine, correlation, jaccard, etc ...
    • myDist = scipy.spatial.distance.pdist(mat, myFunc) : on peut aussi fournir une distance custom qui prend 2 array 1d (2 lignes de la matrice) et renvoie leur distance.

Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert