Як обчислити відстань мінковського в r (з прикладами)
Відстань Мінковського між двома векторами, A і B , обчислюється наступним чином:
(Σ|a i – b i | p ) 1/p
де i — i -й елемент кожного вектора, а p — ціле число.
Ця відстань використовується для вимірювання відмінності між будь-якими двома векторами та зазвичай використовується в багатьох різних алгоритмах машинного навчання .
Щоб обчислити відстань Мінковського між векторами в R, ми можемо використати вбудовану функцію dist() із таким синтаксисом:
d ist(x, method=”minkowski”, p)
золото:
- x: цифрова матриця або кадр даних.
- p: Потужність для обчислення відстані Мінковського.
Зауважте, що налаштування p = 1 еквівалентне обчисленню Манхеттенської відстані , а налаштування p = 2 еквівалентне обчисленню евклідової відстані .
Цей підручник містить кілька прикладів використання цієї функції на практиці.
Приклад 1: Відстань Мінковського між двома векторами
У наступному коді показано, як використовувати функцію dist() для обчислення відстані Мінковського між двома векторами в R, використовуючи ступінь 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
Відстань Мінковського (з використанням степеня p = 3) між цими двома векторами виявляється рівною 3,979057 .
Приклад 2: Відстань Мінковського між векторами в матриці
Щоб обчислити відстань Мінковського між декількома векторами в матриці, ми можемо використати подібний синтаксис у 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 і b дорівнює 3,98 .
- Відстань Мінковського між векторами a і c дорівнює 8,43 .
- Відстань Мінковського між векторами a і d дорівнює 3,33 .
- Відстань Мінковського між векторами b і c дорівнює 5,14 .
- Відстань Мінковського між векторами b і d дорівнює 6,54 .
- Відстань Мінковського між векторами c і d дорівнює 10,61 .
Зверніть увагу, що кожен вектор у матриці повинен мати однакову довжину.
Додаткові ресурси
Як обчислити евклідову відстань у R
Як обчислити відстань Хеммінга в R
Як розрахувати відстань від Манхеттена в R
Як розрахувати відстань Махаланобіса в R