Я пытаюсь использовать sklearn's pairwise_distances для массивов, содержащих NaN, без заполнения NaN. Пример минимального кода для воспроизведения проблемы:
import numpy as np
from sklearn.metrics import pairwise_distances
X = np.array([[1,2],[2,3],[1,np.nan]])
res = pairwise_distances(X, force_all_finite=False)
возвращает
ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
Поведение с force_all_finite = True идентично. Вместо этого я бы предпочел, чтобы расстояния до точек с NaN были просто самим NaN. Я ожидал, что это будет поведение с параметром force_all_finite = False, однако один и тот же ValueError вызывается независимо от того, как установлен force_all_finite, заставляя меня задуматься, каково ожидаемое поведение этого параметра на самом деле? Есть идеи для обхода?
Windows 10 с Anaconda Python 3.7.3, sklearn 0.2.22.post1.