Добрый день дорогие друзья, в данной статье я описываю Евклидову метрику или, как её еще называют Евклидово расстояние.
Евклидово расстояние - это расстояние между двумя точками. Расстояние между двумя точками в свою очередь вычисляется по теореме Пифагора. Это можно увидеть на Рис.1 Расстояние между двумя точка по теореме Пифагора.
Евклидово расстояние очень простое определение различия обьектов. Евклидово расстояние часто используется в анализе данных, посорении моделей K - средних (нахождении расстояния между обьектами для обьединения их кластеры), оценки ошибок и рсчете других метрик.
Рассмотрим на примере как мы можем найти расстояние от каждой точки из массива ???? до центра кластера.
Импортируем библиотеку NumPy:
import numpy as np
Пусть наши обьекты будут располагаться по следующим координатам:
clust = np.array([
[-0.5972191612445694, -0.5919098916910581],
[-1.5838020751869848, 0.4743393635868491],
[-1.892642118066139, -1.2770390481464395],
[-1.021761443519372, -0.38446059106320013],
[-0.628271339507516, -2.308149346281125],
[-0.7180915776856387, 1.1805550909358404],
[-1.543143767548152, -1.4163791359687334],
[0.022103701018375554, -1.1279478858865397],
[-0.7776518874305778, -0.4157532453316538],
[-1.2073577296008344, -1.1308523658604184]
])
Координаты центра кластера будут:
centroid = np.array([-0.9774245525274352, -0.032635425821084516])
Воспользуемся ранее указанной формулой:
raznost = np.sqrt((centroid - clust)**2)
total = np.sum(raznost)
total
В итоге получим сумму растояний: 14.661150278896905
В следующей статье будет крастко рассмотрен алгоритм k-средних для количества кластеров n=3.
Комментарии (4)
nUser123
17.08.2022 15:40+2raznost = np.sqrt((centroid - clust)**2) - в формуле же корень из суммы вроде. А вообще - для кого написана статья? и с какой целью.
AlexSbb
17.08.2022 17:20Такими небольшими шагами до k-means будет долго идти... На вики про Euclidean distances больше написано. Ну и весь код это:
dist = np.linalg.norm(point1 - point2)
khaa
18.08.2022 13:14Теоретическая преамбула статьи - низкокачественный компилят. Уж если писать то дать нормальное определение точкам в N-мерном пространстве, ввести обозначения их координат и уж потом давать формулу. Давать точкам имена X и Y, при том, что это имена координат в двухмерном пространстве - моветон, не просто так в википедии, откуда взята картинка точки названы P и Q.
red-cat-fat
Такими темпами будут статьи про то, как if/else условия писать...