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