Come calcolare la distanza di manhattan in r (con esempi)


La distanza Manhattan tra due vettori, A e B , si calcola come segue:

Σ|a i – b i |

dove i è l’i- esimo elemento di ciascun vettore.

Questa distanza viene utilizzata per misurare la dissomiglianza tra due vettori qualsiasi ed è comunemente utilizzata in molti algoritmi di apprendimento automatico diversi.

Questo tutorial fornisce alcuni esempi di calcolo della distanza di Manhattan in R.

Esempio 1: distanza di Manhattan tra due vettori

Il codice seguente mostra come creare una funzione personalizzata per calcolare la distanza di Manhattan tra due vettori in R:

 #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

La distanza Manhattan tra questi due vettori risulta essere 9 .

Possiamo confermare che ciò è corretto calcolando rapidamente a mano la distanza da Manhattan:

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

Esempio 2: distanza di Manhattan tra i vettori in una matrice

Per calcolare la distanza di Manhattan tra più vettori in una matrice, possiamo utilizzare la funzione dist() incorporata in 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 Manhattan distance between each vector in the matrix
dist(mat, method = " manhattan ")

   ABC
b 9      
c 19 10   
d 7 16 26

Il modo di interpretare questo output è:

  • La distanza di Manhattan tra i vettori a e b è 9 .
  • La distanza di Manhattan tra i vettori a e c è 19 .
  • La distanza di Manhattan tra i vettori a e d è 7 .
  • La distanza di Manhattan tra i vettori b e c è 10 .
  • La distanza di Manhattan tra i vettori b e d è 16 .
  • La distanza di Manhattan tra i vettori c e d è 26 .

Nota che ogni vettore nella matrice deve avere la stessa lunghezza.

Risorse addizionali

Come calcolare la distanza euclidea in R
Come calcolare la distanza di Mahalanobis in R
Come calcolare la distanza di Minkowski in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *