Skip to main content

Find Nearest Neighbors Tool Icon 最近傍探索ツール

[最近傍探索]ツールはユークリッド距離に基づいて、「クエリ」ストリーム内の各レコードに対応する「データ」ストリーム内の選択された数の最近傍点を見つけます。この方法は、速度および可能性のある精度の異なる最近傍を見つけるためのアルゴリズムの選択肢を提供します。デフォルトでは、速度と精度の一般的に良い組み合わせを持つKD-Treeアルゴリズムに基づいて検索が行われます。さらに、元のデータを使用した計算を根拠にするか、または z スコア標準化 (すべてのフィールドの平均が 0 で標準偏差が 1 になる) または単位間隔変換 (各フィールドの値が 0 から 1 の範囲にある) のいずれかを使用してデータの標準化を行うかという選択肢があります。

ユークリッド距離の計算は、フィールドスケールの違いに非常に敏感であるため (例: 未変換世帯収入と年齢データのレベルと範囲が非常に異なるため)、このツールでフィールド標準化を使用することをお勧めします。このメソッドの性質上、数値フィールドのみを入力として使用できます。このツールはR FNNパッケージを使用します。

このツールはRツールを使用します。[オプション] > [予測ツールのダウンロード]に移動し、[Alteryxダウンロードとライセンス]ポータルにサインインして、Rツールで使用するパッケージとRツールをインストールします。詳細については、予測ツールのダウンロードと使用を参照してください。

入力の接続

ツールは 2 つの Alteryx データストリームを受け入れます。

  • D アンカー: 「データ」ストリームを受け入れます。このツールはクエリストリーム(Q入力)内の各レコードに対応するデータストリーム内で、選択した数の最近傍点を見つけます。

  • Q アンカー: 「クエリ」ストリームを受け入れます。

ツールの設定

  • 一意キーフィールド: クエリとデータストリームのレコード間の関係を識別するために、このツールには一意のキーが必要です。

  • フィールド (2 つ以上を選択): クラスターソリューションの構築で使用する数値フィールドを選択します。

  • フィールドの標準化...: このオプションを選択すると、zスコアまたは単位間隔標準化を使用してフィールドを標準化できます。

    • z スコアの標準化: z スコア変換には、フィールドの値から各フィールドの平均値を減算し、フィールドの標準偏差で除算することが含まれます。この結果、平均値がゼロで標準偏差が1の新しいフィールドが作成されます。

    • 単位間隔の標準化: 単位間隔変換は、フィールド値からフィールドの最小値を引いた後、フィールドの最大値と最小値の差で除算することを含みます。これにより、0から1の範囲の値を持つ新しいフィールドが作成されます。K最近傍計算は、特にあるフィールドが別のフィールドと非常に異なるスケールにある場合、データのスケーリングに対して非常に敏感です。その結果、データのスケーリングは何か考慮すべきものとなります。

  • 探索する近傍点の数: 既定(最小)は1近傍点(最近傍点)です。最大値は 100 です。

  • 最近傍点の探索に使用するアルゴリズム: それぞれのアルゴリズムは計算時間と精度が異なります。既定のアルゴリズムは KD-Tree で、一般的には計算時間と精度の両方で優れています。線形探索は真の最近傍を見つけることが保証されますが、計算コストは非常に高いものとなります。次のいずれかを選択します。

    • カバーツリー

    • KD ツリー

    • VR: Venables および Ripley (2002) が使用したメソッド。

    • CR: 修正された距離測定値に基づく VR アルゴリズムのバージョン。

    • 線形探索: クエリストリームのそれぞれの点と、データストリームのすべての点の間の距離を計算します。

出力の表示

  • Nアンカー: ユニークなキー値と、クエリストリームの各ポイント(クエリーストリーム内の各レコードのユニークキーで識別)までの希望近傍数の距離を示すテーブルで構成されます。希望する近傍数が2で、ユニークキーフィールド名がIDの場合、この出力データストリームのフィールドIDは、ID_1(最も近い近傍点のユニークキー)、Dist_1(最も近い近傍点までのユークリッド距離)、ID_2(2番目に近い近傍点のユニークキー)、Dist_2(2番目に近い近傍点までのユークリッド距離)となります。

  • M アンカー: 一意キーフィールド、標準化されたデータ値、およびレコードがデータ内にあるのか、またはデータとクエリストリームの両方からのすべてのレコードのクエリストリームどちらにあるのかを示すインジケーター (__タイプ__フィールド) を提供します。

*en.wikipedia.org/wiki/Cover_tree

**en.wikipedia.org/wiki/K-d_tree

***Venables, W. N. and Ripley, B. D. (2002), Modern Applied Statistics with S, 4th ed., Springer, Berlin.