Я хочу рассчитать 20 наименований для каждого из N элементов в наборе данных. Каждый элемент представлен с использованием параметров M Размеры Таким образом, размер данных N_items X M_features.Почему NearestNeighbors (SKlearn) занимает больше времени, когда n_neighbors меньше, чем общее количество элементов?
Когда я не укажу n_neighbors
(значение по умолчанию равно 5), функция kneighbors
занимает много времени. Но когда я укажу n_neighbors = N_items
, он дает результаты почти мгновенно.
i.e. NN_object = NearestNeighbors()
занимает много времени, чтобы найти kneighbors
, но NN_object = NearestNeighbors(n_neighbors=N_items)
дает результаты довольно быстро.
Может ли кто-нибудь объяснить, что именно происходит за сценой?
PS: N_items
в моем случае ~ 50K и M_features
является ~ 10K.
Ждать, что? 'len (features)' равно тому, что * точно *? – gsamaras
https://github.com/scikit-learn/scikit-learn/blob/14031f6/sklearn/neighbors/base.py#L269 ссылка для функции k-соседа –