サポートベクターマシン (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 | 不可 | トレーニング用に入力テーブルから選択されたパーティション。 次の形式がサポートされています。
説明 複数のパーティションを指定する場合は、コンマ (,) で区切ります。 | すべてのパーティション |
modelName | 可 | 出力モデルの名前。 | None |
featureColNames | 可 | トレーニング用に入力テーブルから選択されたフィーチャ列。 | None |
labelColName | 可 | 入力テーブルのラベル列の名前。 | None |
positiveLabel | 不可 | 正の例の値。 | labelの値から選択されるランダムな値 |
positiveCost | 不可 | 肯定的な例の重み。 また、正のペナルティ要因です。 有効値: (0,+ ∞) | 1.0 |
negativeCost | 不可 | 負の例の重み。 これは負のペナルティ要因でもあります。 有効値: (0,+ ∞) | 1.0 |
イプシロン | 不可 | 収束係数。 有効値: (0,1) | 0.001 |
enableSparse | 不可 | 入力データがスパースかどうかを指定します。 有効な値は true と false です。 | false |
itemDelimiter | 不可 | 入力テーブルのデータがスパースの場合にキーと値のペアを区切るために使用される区切り文字。 | コンマ (,) |
kvDelimiter | 不可 | 入力テーブルのデータがスパースである場合にkeyとvalueを区切るために使用される区切り文字。 | コロン (:) |
coreNum | 不可 | コンピューティングで使用されるコアの数。 このパラメーターの値は正の整数でなければなりません。 | 自動割り当て |
memSizePerCore | 不可 | 各コアのメモリサイズ。 有効な値: 1 ~ 65536 単位:MB。 | 自動割り当て |
例:
次のトレーニングデータを入力として使用します。
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
次のテストデータを入力として使用します。
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
次の図に示すパイプラインを作成します。 詳細については、「アルゴリズムモデリング」をご参照ください。
Linear SVMコンポーネントの次の表に示すパラメーターを設定します。 表に記載されていないパラメーターのデフォルト値を保持します。
タブ
パラメーター
説明
フィールド設定
フィーチャー列
f0、f1、f2、f3、f4、f5、f6、f7列を選択します。
ラベル列
y列を選択します。
パイプラインを実行し、予測結果を表示します。