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

Platform For AI:リニアSVM

最終更新日:Jul 22, 2024

サポートベクターマシン (SVM) は、統計学習理論に基づいて開発された機械学習モデルです。 リスクを最小限に抑え、学習マシンの一般化能力を向上させます。 このようにして、経験的リスクおよび信頼区間が最小化される。 このトピックでは、Linear SVMコンポーネントを設定する方法と、コンポーネントの使用方法の例について説明します。

背景情報

Linear SVMコンポーネントは、カーネル関数を使用して実装されません。 このコンポーネントの実装方法の詳細については、「Trust region Newton method For Large-Scale Logistic Regression」の「L2-SVMの信頼領域メソッド」を参照してください。

制限事項

Linear SVMコンポーネントは、バイナリ分類シナリオでのみ使用できます。

コンポーネントの設定

次のいずれかの方法を使用して、Linear SVMコンポーネントを設定できます。

方法1: Machine Learning Designerでコンポーネントを構成する

  • 入力ポート

    Linear SVMコンポーネントは、Read Tableコンポーネントに接続する必要がある単一の入力ポートのみをサポートします。

  • コンポーネントパラメータ

    タブ

    パラメーター

    必須

    説明

    フィールド設定

    フィーチャー列

    入力テーブルの特性に基づいて選択される入力列。 列に含まれるデータは、BIGINT型またはDOUBLE型にすることができます。

    ラベル列

    入力テーブルの特性に基づいて選択されるラベル列。 列に含まれるデータは、BIGINT、DOUBLE、またはSTRINGタイプにすることができます。

    パラメーター設定

    肯定的なサンプルラベル

    不可

    客観的な参照値。 このパラメーターを指定しない場合、ランダムな値が選択されます。 正の例と負の例の差が大きい場合は、このパラメーターを指定することを推奨します。

    正のペナルティファクター

    不可

    肯定的な例の重み。 有効値: (0,+ ∞) デフォルト値 : 1.0

    負のペナルティファクター

    不可

    負の例の重み。 有効値: (0,+ ∞) デフォルト値 : 1.0

    収束係数

    不可

    収束偏差。 有効値: (0,1) デフォルト値: 0.001

    チューニング

    コア

    不可

    コンピューティングで使用されるコアの数。 このパラメーターが指定されていない場合、システムは自動的にコアを割り当てます。

    コアあたりのメモリサイズ

    不可

    各コアのメモリサイズ。 このパラメーターが指定されていない場合、システムは自動的に各コアにメモリを割り当てます。 単位:MB。

  • 出力ポート

    Linear SVMコンポーネントは、出力ポートを使用して、バッチモデルと同じ形式のバイナリモデルを下流の予測コンポーネントに出力します。

方法2: AIコマンド用の機械学習プラットフォームの実行

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

PAI -name LinearSVM -project algo_public
    -DinputTableName="bank_data"
    -DmodelName="xlab_m_LinearSVM_6143"
    -DfeatureColNames="pdays,emp_var_rate,cons_conf_idx"
    -DlabelColName="y"
    -DpositiveLabel="0"
    -DpositiveCost="1.0"
    -DnegativeCost="1.0"
    -Depsilon="0.001";

次の表に、Machine Learning Platform for AIコマンドで使用されるパラメーターを示します。

パラメーター

必須

説明

デフォルト値

inputTableName

入力テーブルの名前。

None

inputTableParitions

不可

トレーニング用に入力テーブルから選択されたパーティション。 次の形式がサポートされています。

  • Partition_name=value

  • name1=value1/name2=value2: マルチレベルパーティション

説明

複数のパーティションを指定する場合は、コンマ (,) で区切ります。

すべてのパーティション

modelName

出力モデルの名前。

None

featureColNames

トレーニング用に入力テーブルから選択されたフィーチャ列。

None

labelColName

入力テーブルのラベル列の名前。

None

positiveLabel

不可

正の例の値。

labelの値から選択されるランダムな値

positiveCost

不可

肯定的な例の重み。 また、正のペナルティ要因です。 有効値: (0,+ ∞)

1.0

negativeCost

不可

負の例の重み。 これは負のペナルティ要因でもあります。 有効値: (0,+ ∞)

1.0

イプシロン

不可

収束係数。 有効値: (0,1)

0.001

enableSparse

不可

入力データがスパースかどうかを指定します。 有効な値は truefalse です。

false

itemDelimiter

不可

入力テーブルのデータがスパースの場合にキーと値のペアを区切るために使用される区切り文字。

コンマ (,)

kvDelimiter

不可

入力テーブルのデータがスパースである場合にkeyvalueを区切るために使用される区切り文字。

コロン (:)

coreNum

不可

コンピューティングで使用されるコアの数。 このパラメーターの値は正の整数でなければなりません。

自動割り当て

memSizePerCore

不可

各コアのメモリサイズ。 有効な値: 1 ~ 65536 単位:MB。

自動割り当て

例:

  1. 次のトレーニングデータを入力として使用します。

    id

    y

    f0

    f1

    f2

    f3

    f4

    f5

    f6

    f7

    1

    -1

    -0.294118

    0.487437

    0.180328

    -0.292929

    -1

    0.00149028

    -0.53117

    -0.0333333

    2

    + 1

    -0.882353

    -0.145729

    0.0819672

    -0.414141

    -1

    -0.207153

    -0.766866

    -0.666667

    3

    -1

    -0.0588235

    0.839196

    0.0491803

    -1

    -1

    -0.305514

    -0.492741

    -0.633333

    4

    + 1

    -0.882353

    -0.105528

    0.0819672

    -0.535354

    -0.777778

    -0.162444

    -0.923997

    -1

    5

    -1

    -1

    0.376884

    -0.344262

    -0.292929

    -0.602837

    0.28465

    0.887276

    -0.6

    6

    + 1

    -0.411765

    0.165829

    0.213115

    -1

    -1

    -0.23696

    -0.894962

    -0.7

    7

    -1

    -0.647059

    -0.21608

    -0.180328

    -0.353535

    -0.791962

    -0.0760059

    -0.854825

    -0.833333

    8

    + 1

    0.176471

    0.155779

    -1

    -1

    -1

    0.052161

    -0.952178

    -0.733333

    9

    -1

    -0.764706

    0.979899

    0.147541

    -0.0909091

    0.283688

    -0.0909091

    -0.931682

    0.0666667

    10

    -1

    -0.0588235

    0.256281

    0.57377

    -1

    -1

    -1

    -0.868488

    0.1

  2. 次のテストデータを入力として使用します。

    id

    y

    f0

    f1

    f2

    f3

    f4

    f5

    f6

    f7

    1

    + 1

    -0.882353

    0.0854271

    0.442623

    -0.616162

    -1

    -0.19225

    -0.725021

    -0.9

    2

    + 1

    -0.294118

    -0.0351759

    -1

    -1

    -1

    -0.293592

    -0.904355

    -0.766667

    3

    + 1

    -0.882353

    0.246231

    0.213115

    -0.272727

    -1

    -0.171386

    -0.981213

    -0.7

    4

    -1

    -0.176471

    0.507538

    0.278689

    -0.414141

    -0.702128

    0.0491804

    -0.475662

    0.1

    5

    -1

    -0.529412

    0.839196

    -1

    -1

    -1

    -0.153502

    -0.885568

    -0.5

    6

    + 1

    -0.882353

    0.246231

    -0.0163934

    -0.353535

    -1

    0.0670641

    -0.627669

    -1

    7

    -1

    -0.882353

    0.819095

    0.278689

    -0.151515

    -0.307329

    0.19225

    0.00768574

    -0.966667

    8

    + 1

    -0.882353

    -0.0753769

    0.0163934

    -0.494949

    -0.903073

    -0.418778

    -0.654996

    -0.866667

    9

    + 1

    -1

    0.527638

    0.344262

    -0.212121

    -0.356974

    0.23696

    -0.836038

    -0.8

    10

    + 1

    -0.882353

    0.115578

    0.0163934

    -0.737374

    -0.56974

    -0.28465

    -0.948762

    -0.933333

  3. 次の図に示すパイプラインを作成します。 詳細については、「アルゴリズムモデリング」をご参照ください。

    image.png

  4. Linear SVMコンポーネントの次の表に示すパラメーターを設定します。 表に記載されていないパラメーターのデフォルト値を保持します。

    タブ

    パラメーター

    説明

    フィールド設定

    フィーチャー列

    f0f1f2f3f4f5f6f7列を選択します。

    ラベル列

    y列を選択します。

  5. パイプラインを実行し、予測結果を表示します。 Prediction results