Jak obliczyć odległość manhattanu w r (z przykładami)


Odległość Manhattanu pomiędzy dwoma wektorami A i B oblicza się w następujący sposób:

Σ|a i – b i |

gdzie i jest i- tym elementem każdego wektora.

Odległość ta służy do pomiaru odmienności między dowolnymi dwoma wektorami i jest powszechnie stosowana w wielu różnych algorytmach uczenia maszynowego .

W tym samouczku przedstawiono kilka przykładów obliczania odległości Manhattan w R.

Przykład 1: Odległość Manhattanu pomiędzy dwoma wektorami

Poniższy kod pokazuje, jak utworzyć niestandardową funkcję obliczającą odległość Manhattanu między dwoma wektorami w języku 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

Okazuje się, że odległość Manhattanu między tymi dwoma wektorami wynosi 9 .

Możemy potwierdzić, że jest to prawidłowe, szybko obliczając ręcznie odległość do Manhattanu:

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

Przykład 2: Odległość Manhattanu pomiędzy wektorami w macierzy

Aby obliczyć odległość Manhattanu między wieloma wektorami w macierzy, możemy użyć funkcji dist() wbudowanej w 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

Sposób interpretacji tego wyniku jest następujący:

  • Odległość Manhattanu między wektorami a i b wynosi 9 .
  • Odległość Manhattanu między wektorami a i c wynosi 19 .
  • Odległość Manhattanu między wektorami a i d wynosi 7 .
  • Odległość Manhattanu między wektorami b i c wynosi 10 .
  • Odległość Manhattanu między wektorami b i d wynosi 16 .
  • Odległość Manhattanu między wektorami c i d wynosi 26 .

Należy pamiętać, że każdy wektor w macierzy musi mieć tę samą długość.

Dodatkowe zasoby

Jak obliczyć odległość euklidesową w R
Jak obliczyć odległość Mahalanobisa w R
Jak obliczyć odległość Minkowskiego w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *