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


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

(Σ|a i – b i | p ) 1/s

gdzie i jest i- tym elementem każdego wektora, a p jest liczbą całkowitą.

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 .

Aby obliczyć odległość Minkowskiego między wektorami w R, możemy skorzystać z wbudowanej funkcji dist() o następującej składni:

d ist(x, metoda=”minkowski”, p)

Złoto:

  • x: matryca cyfrowa lub ramka danych.
  • p: Moc stosowana przy obliczaniu odległości Minkowskiego.

Należy zauważyć, że ustawienie p = 1 jest równoznaczne z obliczeniem odległości Manhattanu , a ustawienie p = 2 jest równoznaczne z obliczeniem odległości euklidesowej .

W tym samouczku przedstawiono kilka przykładów wykorzystania tej funkcji w praktyce.

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

Poniższy kod pokazuje, jak użyć funkcji dist() do obliczenia odległości Minkowskiego między dwoma wektorami w R, używając potęgi p = 3:

 #define two vectors
a <- c(2, 4, 4, 6)
b <- c(5, 5, 7, 8)

#bind the two vectors into a single matrix
mat <- rbind(a, b)

#calculate Minkowski distance between vectors using a power of 3
dist(mat, method=" minkowski ", p= 3 )

has
b 3.979057

Okazuje się, że odległość Minkowskiego (przy użyciu potęgi p = 3) między tymi dwoma wektorami wynosi 3,979057 .

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

Aby obliczyć odległość Minkowskiego pomiędzy kilkoma wektorami w macierzy, możemy zastosować podobną składnię 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 Minkowski distance between vectors using a power of 3
dist(mat, method = “ minkowski ”, p= 3 )

          ABC
b 3.979057                    
c 8.439010 5.142563          
d 3.332222 6.542133 10.614765

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

  • Odległość Minkowskiego między wektorami a i b wynosi 3,98 .
  • Odległość Minkowskiego między wektorami a i c wynosi 8,43 .
  • Odległość Minkowskiego między wektorami a i d wynosi 3,33 .
  • Odległość Minkowskiego między wektorami b i c wynosi 5,14 .
  • Odległość Minkowskiego między wektorami b i d wynosi 6,54 .
  • Odległość Minkowskiego między wektorami c i d wynosi 10,61 .

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ść Hamminga w R
Jak obliczyć odległość od Manhattanu w R
Jak obliczyć odległość Mahalanobisa w R

Dodaj komentarz

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