すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:k 近傍法

最終更新日:Sep 11, 2026

k 近傍法アルゴリズムは、予測テーブルの各行に対して、トレーニングテーブル内で最も近い K 個のレコードを見つけ、データを分類します。これら K 個のレコードの中で最も頻繁に出現するクラスが、その行の予測クラスとして割り当てられます。

コンポーネント設定

k 近傍法コンポーネントは、以下のいずれかの方法で設定できます。

方法1:GUIでの設定

[Designer] のワークフローページで、コンポーネントパラメーターを設定できます。

タブ

パラメーター

説明

[フィールド設定]

[トレーニングテーブルの特徴列]

トレーニングに使用する特徴列です。

[トレーニングテーブルのラベル列]

トレーニングのターゲット列です。

[予測テーブルの特徴列]

このパラメーターを設定しない場合、予測テーブルの特徴列はトレーニングテーブルの特徴列と同じになります。

[ID 列を出力テーブルに追加]

特定の列の予測値を取得するための ID 列を指定します。デフォルトでは、予測テーブルの特徴列が ID 列として使用されます。

[入力データがスパースフォーマットである]

スパースデータには、キーと値のペアのフォーマットを使用します。

[キーと値のペアの区切り文字]

デフォルトの区切り文字はカンマ (,) です。

[キーと値の区切り文字]

デフォルトの区切り文字はコロン (:) です。

[パラメーター設定]

[近傍数]

デフォルト値は 100 です。

[実行チューニング]

[コア数]

デフォルトでは、システムによって自動的に割り当てられます。

[メモリサイズ]

デフォルトでは、システムによって割り当てられます。

方法2:PAI コマンド

SQL スクリプトコンポーネントで PAI コマンドを実行して、コンポーネントのパラメーターを設定できます。詳細については、「SQL スクリプト」をご参照ください。

PAI -name knn
    -DtrainTableName=pai_knn_test_input
    -DtrainFeatureColNames=f0,f1
    -DtrainLabelColName=class
    -DpredictTableName=pai_knn_test_input
    -DpredictFeatureColNames=f0,f1
    -DoutputTableName=pai_knn_test_output
    -Dk=2;

パラメーター

必須

説明

デフォルト値

trainTableName

はい

トレーニングテーブルの名前です。

なし

trainFeatureColNames

はい

トレーニングテーブル内の特徴列の名前です。

なし

trainLabelColName

はい

トレーニングテーブル内のラベル列の名前です。

なし

trainTablePartitions

いいえ

トレーニングに使用するトレーニングテーブル内のパーティションです。

すべてのパーティション

predictTableName

はい

予測テーブルの名前です。

なし

outputTableName

はい

出力テーブルの名前です。

なし

predictFeatureColNames

いいえ

予測テーブル内の特徴列の名前です。

trainFeatureColNames と同じです

predictTablePartitions

いいえ

予測に使用する予測テーブル内のパーティションです。

すべてのパーティション

appendColNames

いいえ

予測テーブルから出力テーブルに追加する列の名前です。

predictFeatureColNames と同じです

outputTablePartition

いいえ

出力テーブルのパーティションです。

テーブル全体

k

いいえ

近傍数です。有効値:1~1000。

100

enableSparse

いいえ

入力テーブルのデータがスパースフォーマットであるかどうかを指定します。有効値:{true,false}。

false

itemDelimiter

いいえ

入力データがスパースフォーマットの場合、キーと値のペア間の区切り文字です。

カンマ (,)

kvDelimiter

いいえ

入力データがスパースフォーマットの場合、キーと値の間の区切り文字です。

コロン (:)

coreNum

いいえ

ノード数です。このパラメーターは memSizePerCore と一緒に使用します。有効値:1~20,000。

システムによる計算

memSizePerCore

いいえ

単一ノードのメモリです。有効値:1024 MB ~ 64 × 1024 MB。

システムによる計算

lifecycle

いいえ

出力テーブルのライフサイクルです。

なし

例

  1. トレーニングデータを生成します。

    create table pai_knn_test_input as
    select * from
    (
      select 1 as f0,2 as f1, 'good' as class
      union all
      select 1 as f0,3 as f1, 'good' as class
      union all
      select 1 as f0,4 as f1, 'bad' as class
      union all
      select 0 as f0,3 as f1, 'good' as class
      union all
      select 0 as f0,4 as f1, 'bad' as class
    )tmp;
  2. PAI コマンドを使用して、k 近傍法コンポーネントのパラメーターを設定します。

    pai -name knn
        -DtrainTableName=pai_knn_test_input
        -DtrainFeatureColNames=f0,f1
        -DtrainLabelColName=class
        -DpredictTableName=pai_knn_test_input
        -DpredictFeatureColNames=f0,f1
        -DoutputTableName=pai_knn_test_output
        -Dk=2;
  3. トレーニング結果を確認します。K-nearest neighbors example result結果には、次の情報が含まれます:

    • [f0] と [f1] は追加された列です。

    • [prediction_result] は分類結果です。

    • [prediction_score] は分類結果の確率です。

    • [prediction_detail] は、K 個の最近傍クラスとその確率を示します。