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


La distanza di Minkowski tra due vettori A e B si calcola come segue:

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

dove i è l’i- esimo elemento di ciascun vettore e p è un numero intero.

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

Per calcolare la distanza Minkowski tra i vettori in R, possiamo utilizzare la funzione incorporata dist() con la seguente sintassi:

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

Oro:

  • x: una matrice digitale o frame di dati.
  • p: La potenza da utilizzare per calcolare la distanza di Minkowski.

Si noti che impostare p = 1 equivale a calcolare la distanza di Manhattan e impostare p = 2 equivale a calcolare la distanza euclidea .

Questo tutorial fornisce alcuni esempi di come utilizzare questa funzionalità nella pratica.

Esempio 1: distanza di Minkowski tra due vettori

Il codice seguente mostra come utilizzare la funzione dist() per calcolare la distanza di Minkowski tra due vettori in R, utilizzando una potenza di 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

La distanza di Minkowski (utilizzando una potenza di p = 3) tra questi due vettori risulta essere 3.979057 .

Esempio 2: distanza di Minkowski tra vettori in una matrice

Per calcolare la distanza di Minkowski tra più vettori in una matrice, possiamo usare una sintassi simile 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 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

Il modo di interpretare questo output è:

  • La distanza di Minkowski tra i vettori a e b è 3,98 .
  • La distanza di Minkowski tra i vettori a e c è 8,43 .
  • La distanza di Minkowski tra i vettori a e d è 3,33 .
  • La distanza di Minkowski tra i vettori b e c è 5,14 .
  • La distanza di Minkowski tra i vettori b e d è 6,54 .
  • La distanza di Minkowski tra i vettori c e d è 10,61 .

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 Hamming in R
Come calcolare la distanza da Manhattan in R
Come calcolare la distanza di Mahalanobis in R

Aggiungi un commento

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