Como calcular a distância de minkowski em r (com exemplos)


A distância de Minkowski entre dois vetores, A e B , é calculada da seguinte forma:

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

onde i é o i- ésimo elemento de cada vetor e p é um número inteiro.

Essa distância é usada para medir a dissimilaridade entre quaisquer dois vetores e é comumente usada em muitos algoritmos de aprendizado de máquina diferentes.

Para calcular a distância de Minkowski entre vetores em R, podemos usar a função dist() integrada com a seguinte sintaxe:

d ist(x, método=”minkowski”, p)

Ouro:

  • x: uma matriz digital ou quadro de dados.
  • p: O poder a ser usado no cálculo da distância de Minkowski.

Observe que definir p = 1 equivale ao cálculo da distância de Manhattan e definir p = 2 equivale ao cálculo da distância euclidiana .

Este tutorial fornece alguns exemplos de como usar esse recurso na prática.

Exemplo 1: Distância de Minkowski entre dois vetores

O código a seguir mostra como usar a função dist() para calcular a distância de Minkowski entre dois vetores em R, usando uma potência de 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

A distância de Minkowski (usando uma potência de p = 3) entre esses dois vetores é 3,979057 .

Exemplo 2: Distância de Minkowski entre vetores em uma matriz

Para calcular a distância de Minkowski entre vários vetores em uma matriz, podemos usar uma sintaxe semelhante em 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

A maneira de interpretar esta saída é:

  • A distância de Minkowski entre os vetores a e b é 3,98 .
  • A distância de Minkowski entre os vetores a e c é 8,43 .
  • A distância de Minkowski entre os vetores a e d é 3,33 .
  • A distância de Minkowski entre os vetores b e c é 5,14 .
  • A distância de Minkowski entre os vetores b e d é 6,54 .
  • A distância de Minkowski entre os vetores c e d é 10,61 .

Observe que cada vetor na matriz deve ter o mesmo comprimento.

Recursos adicionais

Como calcular a distância euclidiana em R
Como calcular a distância de Hamming em R
Como calcular a distância de Manhattan em R
Como calcular a distância de Mahalanobis em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *