Cara menghitung jarak manhattan di r (dengan contoh)


Jarak Manhattan antara dua vektor, A dan B , dihitung sebagai berikut:

Σ| aku – b saya |

dimana i adalah elemen ke- i dari setiap vektor.

Jarak ini digunakan untuk mengukur ketidaksamaan antara dua vektor dan biasanya digunakan dalam banyak algoritma pembelajaran mesin yang berbeda.

Tutorial ini memberikan beberapa contoh penghitungan jarak Manhattan di R.

Contoh 1: Jarak Manhattan antara dua vektor

Kode berikut menunjukkan cara membuat fungsi kustom untuk menghitung jarak Manhattan antara dua vektor di 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

Jarak Manhattan antara kedua vektor ini adalah 9 .

Kami dapat mengonfirmasi kebenarannya dengan menghitung jarak ke Manhattan secara cepat dengan tangan:

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

Contoh 2: Jarak Manhattan antar vektor dalam suatu matriks

Untuk menghitung jarak Manhattan antara beberapa vektor dalam sebuah matriks, kita dapat menggunakan fungsi dist() yang ada di 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

Cara menafsirkan keluaran ini adalah:

  • Jarak Manhattan antara vektor a dan b adalah 9 .
  • Jarak Manhattan antara vektor a dan c adalah 19 .
  • Jarak Manhattan antara vektor a dan d adalah 7 .
  • Jarak Manhattan antara vektor b dan c adalah 10 .
  • Jarak Manhattan antara vektor b dan d adalah 16 .
  • Jarak Manhattan antara vektor c dan d adalah 26 .

Perhatikan bahwa setiap vektor dalam matriks harus mempunyai panjang yang sama.

Sumber daya tambahan

Cara menghitung jarak Euclidean di R
Cara menghitung jarak Mahalanobis di R
Cara menghitung jarak Minkowski di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *