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