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
où 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