2017-09-21 5 views
0

spark 2.2.0からKNNアルゴリズムを使用しようとしています。私はバケツの長さをどのように設定すべきかと思います。レコード数/機能の数はさまざまなので、いくつかの条件で長さを設定する方が良いと思います。パフォーマンスを向上させるためにバケットの長さはどのように設定する必要がありますか?ベクトルのすべてのフィーチャを0から1にリサイズしました。BucketRandomProjectionLSH KNNパラメータ

また、KNNアルゴリズムが最小数のエレムネットを返すように保証する方法はありますか?バケツ内の要素の数がクエリされたkよりも小さいことがあり、結果として少なくとも1つまたは2つの隣人が必要な場合があることが分かりました。

感謝〜

https://spark.apache.org/docs/latest/api/python/pyspark.ml.html#pyspark.ml.feature.BucketedRandomProjectionLSH

答えて

0

Scaladocs

によると、入力ベクトルが正規化されている場合は、pow(numRecords, -1/inputDim)の1-10倍は妥当な値

だろう