ドキュメンテーション

このページは前リリースの情報です。該当の英語のページはこのリリースで変更されています。最新情報を確認するには、ページ左下にある国リストで [United States] を選択し、英語ドキュメンテーションに切り替えてください。

KDTreeSearcher クラス

スーパークラス: NeighborSearcher

kd ツリーを使用した最近傍点検索

説明

KDTreeSearcher オブジェクトは、kd ツリーを使用した kNN (k-最近傍点) 検索を表します。探索オブジェクトは、使用されたデータ、距離計量およびパラメーター、各葉ノードにおけるデータ点の最大数に関する情報を保存します。このオブジェクトは、スパース入力データに対しては作成できません。このオブジェクトの検索パフォーマンスは、ExhaustiveSearcher オブジェクトと比較すると、より低い次元 (10 以下) で高く、次元数が増えるほど低下します。探索オブジェクトの詳細は、「探索オブジェクトの概要」を参照してください。

構築

NS = KDTreeSearcher(X,'Name',Value) は、X に基づいて kd ツリーを構築し、KDTreeSearcher オブジェクトに情報を保存します。このオブジェクトでは、X の行が観測に、列が変数に対応しています。このツリーを使用すると、クエリ点に最も近い X にある近傍点を検出できます。

NS = createns(X,'NSMethod','kdtree','Name',Value) は、createns を使用して X に基づいて kd ツリーを作成し、KDTreeSearcher オブジェクトに情報を保存します。このオブジェクトでは、X の行が観測に、列が変数に対応しています。このツリーを使用すると、クエリ点に最も近い X にある近傍点を検出できます。

名前/値のペアの引数

KDTreeSearcher および createns は、以下のオプションの名前と値のペアを 1 つ以上入力として受け入れます。

'Distance'

knnsearch メソッドの呼び出し時に使用される既定の設定の距離計量を指定する文字列。

  • 'euclidean' — ユークリッド距離 (既定の設定)。

  • 'cityblock' — 市街地距離。

  • 'chebychev' — チェビシェフ距離 (最大座標差)。

  • 'minkowski' — ミンコフスキー距離。

この距離計量の詳細は、「距離計量」を参照してください。

'P'

ミンコフスキー距離の指数を示す正のスカラー。このパラメーターは、Distance'minkowski' の場合にのみ有効です。既定値は 2 です。

'BucketSize'

kd ツリーの各葉ノードにあるデータ点の最大数を示す正の整数。既定値は 50 です。

プロパティ

X

オブジェクトの作成に使用する行列。

Distance

オブジェクトの作成時に指定した組み込み距離計量を指定する文字列。このプロパティは、knnsearch を呼び出して将来のクエリ点の最近傍点を検出するときに使用される既定の設定の距離計量です。

DistParameter

選択した距離計量の追加のパラメーターを指定します。値は次のようになります。

  • 'Distance''minkowski' の場合: ミンコフスキー距離の指数を示す正のスカラー。

  • それ以外の場合: 空

メソッド

knnsearchKDTreeSearcher オブジェクトを使用して k の最近傍を検出します。
rangesearchKDTreeSearcher オブジェクトを使用して、指定された距離内ですべての傍点を検索します。

すべて折りたたむ

最近傍検索に使用するミンコフスキー距離の指定

フィッシャーのアヤメのデータを読み込みます。花弁の寸法に焦点を当てます。

load fisheriris
X = meas(:,[3 4]); % Predictors

createns および学習データを使用して 2d ツリーを拡張します。ミンコフスキー距離計量を指定します。

Mdl = createns(X,'NSMethod','kdtree','Distance','Minkowski')
Mdl = 

  KDTreeSearcher with properties:

       BucketSize: 50
         Distance: 'minkowski'
    DistParameter: 2
                X: [150x2 double]

MdlKDTreeSearcher モデル オブジェクトです。Mdl のプロパティにはドット表記でアクセスします。たとえば、Mdl.DistParameter を使用してミンコフスキー距離指数にアクセスします。

Mdl.DistParameter
ans =

     2

クエリ データおよび Mdl を以下に渡すことができます。

参考文献

[1] Friedman, J. H., Bentely, J., and Finkel, R. A. (1977). An Algorithm for Finding Best Matches in Logarithmic Expected Time, ACM Transactions on Mathematical Software 3, 209.

この情報は役に立ちましたか?