So berechnen sie die manhattan-distanz in r (mit beispielen)


Der Manhattan-Abstand zwischen zwei Vektoren A und B wird wie folgt berechnet:

Σ|a i – b i |

wobei i das i- te Element jedes Vektors ist.

Dieser Abstand wird verwendet, um die Unähnlichkeit zwischen zwei beliebigen Vektoren zu messen, und wird häufig in vielen verschiedenen Algorithmen für maschinelles Lernen verwendet.

Dieses Tutorial enthält einige Beispiele für die Berechnung der Manhattan-Distanz in R.

Beispiel 1: Manhattan-Distanz zwischen zwei Vektoren

Der folgende Code zeigt, wie Sie eine benutzerdefinierte Funktion erstellen, um den Manhattan-Abstand zwischen zwei Vektoren in R zu berechnen:

 #create function to calculate Manhattan distance
manhattan_dist <- function (a, b){
     dist <- abs (ab)
     dist < -sum (dist)
     return (dist)
}

#define two vectors
a <- c(2, 4, 4, 6)

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

#calculate Manhattan distance between vectors
manhattan_dist(a, b)

[1] 9

Der Manhattan-Abstand zwischen diesen beiden Vektoren beträgt 9 .

Wir können bestätigen, dass dies richtig ist, indem wir schnell die Entfernung nach Manhattan von Hand berechnen:

Σ|a i – b i | = |2-5| + |4-5| + |4-7| + |6-8| = 3 + 1 + 3 + 2 = 9 .

Beispiel 2: Manhattan-Abstand zwischen Vektoren in einer Matrix

Um den Manhattan-Abstand zwischen mehreren Vektoren in einer Matrix zu berechnen, können wir die in R integrierte Funktion dist() verwenden:

 #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 Manhattan distance between each vector in the matrix
dist(mat, method = " manhattan ")

   ABC
b 9      
c 19 10   
d 7 16 26

Die Art und Weise, diese Ausgabe zu interpretieren, ist:

  • Der Manhattan-Abstand zwischen den Vektoren a und b beträgt 9 .
  • Der Manhattan-Abstand zwischen den Vektoren a und c beträgt 19 .
  • Der Manhattan-Abstand zwischen den Vektoren a und d beträgt 7 .
  • Der Manhattan-Abstand zwischen den Vektoren b und c beträgt 10 .
  • Der Manhattan-Abstand zwischen den Vektoren b und d beträgt 16 .
  • Der Manhattan-Abstand zwischen den Vektoren c und d beträgt 26 .

Beachten Sie, dass jeder Vektor in der Matrix die gleiche Länge haben muss.

Zusätzliche Ressourcen

So berechnen Sie den euklidischen Abstand in R
So berechnen Sie den Mahalanobis-Abstand in R
So berechnen Sie den Minkowski-Abstand in R

Einen Kommentar hinzufügen

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