2012-04-12 6 views
3

コサイン類似度メトリックとその他のユーザー定義メトリックを使用して、ベクトルの集合にK個の最近傍点を使用する必要があります。どのように私はscikitsを使用して達成することができます学習? sklearn.neighbors.KNeighborsClassifierが見つかりましたが、ユーザー定義のメトリックのオプションを特定できませんでした。私は現在0.11を学ぶ最新のscikitsを使用しています。ユーザー定義の距離メトリックで学習するscikitsでk最近隣を選択する方法はありますか?

答えて

3

事前計算または遅延計算されたユーザー定義の距離関数をkNNモデルに渡すことはできません(まだですか)。 masterブランチでしかし

、今では、p-ミンコフスキー距離のために、任意のpを使用する可能性を持っている:

https://github.com/scikit-learn/scikit-learn/pull/742

任意のユーザ定義の距離関数を渡すことを可能にするのは非常に簡単だろうブルートフォース法の場合、ボールツリーの実装(低次元データ用)を一般的な場合に容易に適合させることはできません。

また、疎な正のデータと余弦の類似性の場合、反転インデックスがより良いデータ構造になります。http://metaoptimize.com/qa/questions/9691/efficient-nearest-neighbors-in-a-very-sparse-settings

関連する問題