nan_euclidean_distances#
- sklearn.metrics.pairwise.nan_euclidean_distances(X, Y=None, *, квадрат=False, missing_values=nan, copy=True)[источник]#
Вычисление евклидовых расстояний при наличии пропущенных значений.
Вычислить евклидово расстояние между каждой парой образцов в 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.- квадратbool, по умолчанию=False
Возвращает квадраты евклидовых расстояний.
- missing_valuesnp.nan, float или int, по умолчанию=np.nan
Представление пропущенного значения.
- copybool, по умолчанию=True
Создать и использовать глубокую копию X и Y (если Y существует).
- Возвращает:
- расстоянияndarray формы (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, Volume: 9, Issue: 10, pp. 617 - 621, Oct. 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]])