Spec-Zone.ru › scikit-learn

nan_euclidean_distances

sklearn.metrics.pairwise.nan_euclidean_distances(X, Y=None, *, squared=False, missing_values=nan, copy=True)[source]

Вычисление евклидовых расстояний при наличии пропущенных значений.

Вычисляет евклидово расстояние между каждой парой образцов в X и Y, где Y=X предполагается, если Y=None. При вычислении расстояния между парой образцов эта формула игнорирует координаты признаков с пропущенным значением в любом из образцов и увеличивает вес оставшихся координат:

dist(x,y) = sqrt(weight * sq. distance from present coordinates)

где:

weight = Total # of coordinates / # of present coordinates

Например, расстояние между [3, na, na, 6] и [1, na, 4, 5] равно:

\[\sqrt{\frac{4}{2}((3-1)^2 + (6-5)^2)}\]

Если все координаты отсутствуют или если общих присутствующих координат нет, то для этой пары возвращается NaN.

Подробнее см. в Руководстве пользователя.

Добавлен в версии 0.22.

Параметры:
Xarray-like формы (n_samples_X, n_features)

Массив, где каждая строка представляет образец, а каждый столбец — признак.

Yarray-like формы (n_samples_Y, n_features), по умолчанию=None

Массив, где каждая строка представляет образец, а каждый столбец — признак. Если None, метод использует Y=X.

squaredbool, по умолчанию=False

Возвратить возведённые в квадрат евклидовы расстояния.

missing_valuesnp.nan, float или int, по умолчанию=np.nan

Представление пропущенного значения.

copybool, по умолчанию=True

Создать и использовать глубокую копию X и Y (если Y существует).

Возвращает:
distancesndarray формы (n_samples_X, n_samples_Y)

Возвращает расстояния между векторами строк X и векторами строк Y.

См. также

paired_distances

Расстояния между парами элементов X и Y.

Ссылки

  • John K. Dixon, “Pattern Recognition with Partly Missing Data”, IEEE Transactions on Systems, Man, and Cybernetics, Том: 9, Выпуск: 10, стр. 617 - 621, окт. 1979. http://ieeexplore.ieee.org/abstract/document/4310090/

Примеры

>>> from sklearn.metrics.pairwise import nan_euclidean_distances
>>> nan = float("NaN")
>>> X = [[0, 1], [1, nan]]
>>> nan_euclidean_distances(X, X) # distance between rows of X
array([[0.        , 1.41421356],
       [1.41421356, 0.        ]])
>>> # get distance to origin
>>> nan_euclidean_distances(X, [[0, 0]])
array([[1.        ],
       [1.41421356]])

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.metrics.pairwise.nan_euclidean_distances.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API