Найти тему
Властелин машин

Легкий способ подсчета расстояния при наличии пропусков в данных

Для решения проблемы наличия аномалий в данных в библиотеках машинного обучения предусмотрены различные приемы. Одним из них является подсчет расстояний между векторами при наличии пропусков в координатах. В частности, популярным является использование функции nan_euclidean_distance, которая включает в евклидову метрику только заполненные параметры, однако взвешивает результат в соответствии с количеством незаполненных значений по следующей формуле:

Рассмотрим использование nan_euclidean_distance на примере датафрейма:

-2

Импортируем nan_euclidean_distances из sklearn.metrics.pairwise и посчитаем расстояние между нулевой и первой строкой:

-3

сравним с подсчетом вручную:

-4

Для получения дистанций между группами объектов в X и Y можно передавать списки:

-5

Если Y не передается, то по умолчанию он будет равен X:

-6

-7