Hoe de minkowski-afstand in r te berekenen (met voorbeelden)


De Minkowski-afstand tussen twee vectoren, A en B , wordt als volgt berekend:

(Σ|a ik – b ik | p ) 1/p

waarbij i het i- de element van elke vector is en p een geheel getal is.

Deze afstand wordt gebruikt om de ongelijkheid tussen twee vectoren te meten en wordt vaak gebruikt in veel verschillende machine learning-algoritmen .

Om de Minkowski-afstand tussen vectoren in R te berekenen, kunnen we de ingebouwde dist()- functie gebruiken met de volgende syntaxis:

d ist(x, methode=”minkowski”, p)

Goud:

  • x: een digitale matrix of dataframe.
  • p: Het vermogen dat moet worden gebruikt bij het berekenen van de Minkowski-afstand.

Merk op dat instelling p = 1 gelijk is aan het berekenen van de Manhattan-afstand en dat instelling p = 2 gelijk is aan het berekenen van de Euclidische afstand .

In deze zelfstudie vindt u enkele voorbeelden van hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld 1: Minkowski-afstand tussen twee vectoren

De volgende code laat zien hoe u de functie dist() gebruikt om de Minkowski-afstand tussen twee vectoren in R te berekenen, met behulp van een macht van 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 )

has
b 3.979057

De Minkowski-afstand (met behulp van een macht van p = 3) tussen deze twee vectoren blijkt 3,979057 te zijn.

Voorbeeld 2: Minkowski-afstand tussen vectoren in een matrix

Om de Minkowski-afstand tussen verschillende vectoren in een matrix te berekenen, kunnen we een vergelijkbare syntaxis in R gebruiken:

 #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 )

          ABC
b 3.979057                    
c 8.439010 5.142563          
d 3.332222 6.542133 10.614765

De manier om deze uitvoer te interpreteren is:

  • De Minkowski-afstand tussen vectoren a en b is 3,98 .
  • De Minkowski-afstand tussen vectoren a en c is 8,43 .
  • De Minkowski-afstand tussen vectoren a en d is 3,33 .
  • De Minkowski-afstand tussen vectoren b en c is 5,14 .
  • De Minkowski-afstand tussen vectoren b en d is 6,54 .
  • De Minkowski-afstand tussen vectoren c en d is 10,61 .

Merk op dat elke vector in de matrix dezelfde lengte moet hebben.

Aanvullende bronnen

Hoe de Euclidische afstand in R te berekenen
Hoe de Hamming-afstand in R te berekenen
Hoe de afstand van Manhattan in R te berekenen
Hoe de Mahalanobis-afstand in R te berekenen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert