ベイズの定理に基づき、Naive Bayes は、入力データのすべての特徴が独立していると仮定する確率的分類アルゴリズムです。ビジュアルモデリング (旧 Studio) の Naive Bayes コンポーネントは、幅広い分類問題に対応します。このトピックでは、Naive Bayes コンポーネントの設定方法について説明します。
制限事項
サポートされている計算エンジンは MaxCompute です。
コンポーネント設定
Naive Bayes コンポーネントのパラメーターは、次のいずれかの方法で設定できます。
方法 1:Designer
ビジュアルモデリング (Designer) パイプラインページでコンポーネントのパラメーターを設定します。
|
タブ |
パラメーター |
説明 |
|
フィールド設定 |
特徴列 |
デフォルトでは、ラベル列以外のすべての列が特徴列として使用されます。サポートされているデータ型は DOUBLE、STRING、BIGINT です。 |
|
除外する列 |
トレーニングから除外する列。このパラメーターは [特徴列] と併用できません。 |
|
|
強制変換列 |
データ解析ルールは次のとおりです。
説明
BIGINT 型の列を CATEGORICAL 型として解析するには、forceCategorical パラメーターを使用する必要があります。 |
|
|
ラベル列 |
入力テーブルのラベル列を指定します。特徴列以外の列のみを選択できます。サポートされているデータ型は STRING、DOUBLE、BIGINT です。 |
|
|
入力はスパースフォーマット |
入力データがスパースで、キーと値 (KV) フォーマットで表されている場合は、このオプションを選択します。 |
|
|
スパース入力のキーと値のペアの区切り文字 |
キーと値のペアを区切るデリミタ。デフォルト値はコンマ (,) です。 |
|
|
スパース入力のキーと値の区切り文字 |
キーとその値を区切るデリミタ。デフォルト値はコロン (:) です。 |
|
|
PMML を生成するかどうか |
このチェックボックスを選択すると、Predictive Model Markup Language (PMML) モデルが生成されます。パイプラインにデータストレージパスが設定されていない場合は、[今すぐ作成] をクリックしてパスを設定します。 |
|
|
チューニング |
コア数 |
システムによって自動的に割り当てられます。 |
|
コアあたりのメモリ (MB) |
システムによって自動的に割り当てられます。 |
方法 2:PAI コマンド
SQL スクリプトコンポーネントを使用して PAI コマンドを実行し、コンポーネントのパラメーターを設定できます。詳細については、「SQL スクリプト」をご参照ください。
PAI -name NaiveBayes -project algo_public
-DinputTablePartitions="pt=20150501"
-DmodelName="xlab_m_NaiveBayes_23772"
-DlabelColName="poutcome"
-DfeatureColNames="age,previous,cons_conf_idx,euribor3m"
-DinputTableName="bank_data_partition";
|
パラメーター |
必須 |
説明 |
デフォルト値 |
|
inputTableName |
はい |
入力テーブルの名前。 |
なし |
|
inputTablePartitions |
いいえ |
トレーニングに使用する入力テーブルのパーティション。 |
すべてのパーティション |
|
modelName |
はい |
出力モデルの名前。 |
なし |
|
labelColName |
はい |
入力テーブルのラベル列の名前。 |
なし |
|
featureColNames |
いいえ |
トレーニングに使用する入力テーブルの特徴列の名前。 |
ラベル列以外のすべての列。 |
|
excludedColNames |
いいえ |
特徴として使用しない列を指定します。このパラメーターは featureColNames と併用できません。 |
空 |
|
forceCategorical |
いいえ |
データ解析ルールは次のとおりです。
説明
BIGINT 型の列を CATEGORICAL 型として解析するには、forceCategorical パラメーターを使用する必要があります。 |
BIGINT は連続型として扱われます。 |
|
coreNum |
いいえ |
計算に使用するコア数。 |
システム割り当て |
|
memSizePerCore |
いいえ |
コアあたりのメモリサイズ (MB)。有効値:1~65536。 |
システム割り当て |
例
-
トレーニングデータとテストデータを準備します。
-
MaxCompute クライアントを使用して、
train_dataテーブルとtest_dataテーブルを作成し、それぞれトレーニングデータとテストデータを格納します。両方のテーブルには、次の列名とデータ型が必要です:id bigint, y bigint, f0 double, f1 double, f2 double, f3 double, f4 double, f5 double, f6 double, f7 double。MaxCompute クライアントのインストールと設定方法については、「MaxCompute クライアント (odpscmd)」をご参照ください。テーブルの作成方法については、「テーブルの作成」をご参照ください。 -
次のトレーニングデータとテストデータを、それぞれ
train_dataテーブルとtest_dataテーブルにインポートします。データのインポート方法については、「データのインポート」をご参照ください。-
トレーニングデータ
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
-
-
-
次の手順に従ってパイプラインを構築し、実行します。詳細については、「アルゴリズムモデリング」をご参照ください。

-
Designer のコンポーネントリストから、2 つのテーブル読み込みコンポーネント、1 つの Naive Bayes コンポーネント、1 つの予測コンポーネント、1 つの多クラス分類評価コンポーネントをキャンバスにドラッグします。
-
ノードを接続してパイプラインを構築します。
-
コンポーネントのパラメーターを設定します。
-
キャンバス上の [Read Table-1] コンポーネントをクリックします。右側のペインの [テーブルの選択] タブで、[テーブル名] を train_data に設定します。
-
キャンバス上の [Read Table-2] コンポーネントをクリックします。右側のペインの [テーブルの選択] タブで、[テーブル名] を test_data に設定します。
-
キャンバス上の [Naive Bayes-1] コンポーネントをクリックします。右側のペインで、パラメーターを次のように設定します。他のパラメーターはデフォルト値のままにします。
タブ
パラメーター
説明
フィールド設定
特徴列
f0、f1、f2、f3、f4、f5、f6、f7 の各列を選択します。
ラベル列
y 列を選択します。
-
キャンバス上の [Prediction-1] コンポーネントをクリックします。右側のペインの [フィールド設定] タブで、[予約列] を id と y に設定します。他のパラメーターはデフォルト値のままにします。
-
キャンバス上の [Multiclass Classification Evaluation-1] コンポーネントをクリックします。右側のペインの [フィールド設定] タブで、[元の分類結果列] を y に設定します。他のパラメーターはデフォルト値のままにします。
-
-
コンポーネントの設定が完了したら、実行ボタン
をクリックしてパイプラインを実行します。
-
-
パイプラインの実行後、[Prediction-1] コンポーネントを右クリックし、ショートカットメニューから を選択します。予測結果テーブルには、id、y (元のラベル)、prediction_result (予測ラベル、値は 1 または -1)、prediction_score (予測スコア)、prediction_detail (JSON 形式のクラス確率詳細) の列が含まれます。10 個のテストサンプルでは、予測スコアが 1 に近く、モデルの信頼度が高く、パフォーマンスが良好であることを示しています。
参考
-
Naive Bayes コンポーネントを実行して PMML モデルを生成した後、そのモデルをオンラインサービスとしてデプロイできます。詳細については、「モデルをオンラインサービスとしてデプロイする」をご参照ください。
-
ビジュアルモデリングの詳細については、「ビジュアルモデリングの概要」をご参照ください。
-
ビジュアルモデリングには、複数の事前設定されたアルゴリズムコンポーネントが含まれています。ユースケースに最適なものを選択できます。詳細については、「コンポーネントリファレンス:すべてのコンポーネントの概要」をご参照ください。