我想要計算數據集中每個N項目的前20個相似項目。 每個項目都使用M的特徵來表示因此數據大小爲N_items X M_features。爲什麼NearestNeighbors(SKlearn)在n_neighbors少於項目總數時需要更多時間?
當我沒有指定n_neighbors
(默認值是5)時,kneighbors
函數需要很多時間。 但是,當我指定n_neighbors = N_items
時,它幾乎立即給出結果。
即NN_object = NearestNeighbors()
需要很多時間才能找到kneighbors
,但NN_object = NearestNeighbors(n_neighbors=N_items)
可以很快得出結果。
任何人都可以解釋幕後發生了什麼?
PS:N_items
在我的情況是〜50K和M_features
是〜10K。
等什麼? 'len(特徵)'等於什麼*完全*? – gsamaras
https://github.com/scikit-learn/scikit-learn/blob/14031f6/sklearn/neighbors/base.py#L269鏈接爲k鄰居功能 –