Comment calculer la distance de Minkowski dans R (avec exemples)



La distance de Minkowski entre deux vecteurs, A et B , est calculée comme suit :

(Σ|une je – b je | p ) 1/p

i est le i ème élément de chaque vecteur et p est un nombre entier.

Cette distance est utilisée pour mesurer la dissemblance entre deux vecteurs quelconques et est couramment utilisée dans de nombreux algorithmes d’apprentissage automatique différents.

Pour calculer la distance de Minkowski entre les vecteurs dans R, nous pouvons utiliser la fonction intégrée dist() avec la syntaxe suivante :

d ist(x, méthode=”minkowski”, p)

où:

  • x : une matrice numérique ou une trame de données.
  • p : La puissance à utiliser dans le calcul de la distance de Minkowski.

Notez que définir p = 1 équivaut à calculer ladistance de Manhattan et définir p = 2 équivaut à calculer la distance euclidienne .

Ce didacticiel fournit quelques exemples d’utilisation pratique de cette fonction.

Exemple 1 : Distance de Minkowski entre deux vecteurs

Le code suivant montre comment utiliser la fonction dist() pour calculer la distance de Minkowski entre deux vecteurs dans R, en utilisant une puissance de p = 3 :

#define two vectors
a <- c(2, 4, 4, 6)
b <- c(5, 5, 7, 8)

#bind the two vectors into a single matrix
mat <- rbind(a, b)

#calculate Minkowski distance between vectors using a power of 3
dist(mat, method="minkowski", p=3)

         a
b 3.979057

La distance de Minkowski (en utilisant une puissance de p = 3) entre ces deux vecteurs s’avère être 3,979057 .

Exemple 2 : Distance de Minkowski entre les vecteurs dans une matrice

Pour calculer la distance de Minkowski entre plusieurs vecteurs dans une matrice, on peut utiliser une syntaxe similaire dans R :

#create four vectors
a <- c(2, 4, 4, 6)

b <- c(5, 5, 7, 8)

c <- c(9, 9, 9, 8)

d <- c(1, 2, 3, 3)

#bind vectors into one matrix
mat <- rbind(a, b, c, d)

#calculate Minkowski distance between vectors using a power of 3
dist(mat, method = "minkowski", p=3)

          a         b         c
b  3.979057                    
c  8.439010  5.142563          
d  3.332222  6.542133 10.614765

La façon d’interpréter cette sortie est la suivante :

  • La distance de Minkowski entre les vecteurs a et b est de 3,98 .
  • La distance de Minkowski entre les vecteurs a et c est 8,43 .
  • La distance de Minkowski entre les vecteurs a et d est de 3,33 .
  • La distance de Minkowski entre les vecteurs b et c est 5,14 .
  • La distance de Minkowski entre les vecteurs b et d est de 6,54 .
  • La distance de Minkowski entre les vecteurs c et d est de 10,61 .

Notez que chaque vecteur de la matrice doit avoir la même longueur.

Ressources additionnelles

Comment calculer la distance euclidienne dans R
Comment calculer la distance de Hamming en R
Comment calculer la distance de Manhattan en R
Comment calculer la distance de Mahalanobis en R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *