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(features)'は* exact *と等しいですか? – gsamaras
https://github.com/scikit-learn/scikit-learn/blob/14031f6/sklearn/neighbors/base.py#L269 k-ネイバー機能のリンク –