Je veux calculer les 20 éléments les plus similaires pour chacun des N éléments de l'ensemble de données. Chaque élément est représenté en utilisant les caractéristiques de M dimensions Ainsi, la taille des données est N_items X M_features.Pourquoi NearestNeighbors (SKlearn) prend-il plus de temps lorsque n_neighbors est inférieur au nombre total d'éléments?
Lorsque je ne spécifie pas n_neighbors
(la valeur par défaut est 5), la fonction kneighbors
prend beaucoup de temps. Mais quand je spécifie n_neighbors = N_items
, il donne des résultats presque instantanément. Il faut beaucoup de temps pour trouver kneighbors
, mais NN_object = NearestNeighbors(n_neighbors=N_items)
donne des résultats assez rapidement Quelqu'un peut-il expliquer ce qui se passe exactement derrière la scène?
PS: N_items
dans mon cas est ~ 50K et M_features
est ~ 10K.
Attendez quoi? 'len (features)' est égal à quoi * exactement *? – gsamaras
https://github.com/scikit-learn/scikit-learn/blob/14031f6/sklearn/neighbors/base.py#L269 lien pour la fonction k-neighbor –