インテル® DAAL プログラミング・ガイド
分散処理モードのナイーブベイズ分類器アルゴリズムは、訓練段階でのみ使用できます。
この計算モードは、データセットが計算ノードの nblocks ブロックに分割されていると仮定します。
アルゴリズムのパラメーター
訓練段階での分散処理モードのナイーブベイズ分類器のパラメーターは次のとおりです。
パラメーター |
デフォルト値 |
説明 |
|
---|---|---|---|
computeStep |
適用不可 |
アルゴリズムを初期化するために必要なパラメーターです。次のいずれか。
|
|
algorithmFPType |
double |
アルゴリズムが中間計算に使用する浮動小数点の型。float または double を指定できます。 |
|
method |
defaultDense |
パフォーマンス指向の計算メソッド。アルゴリズムでサポートされている唯一のメソッドです。 |
|
nClasses |
適用不可 |
クラスの数、必須パラメーター。 |
|
priorClassEstimates |
1/nClasses |
事前クラス推定を含むサイズ nClasses のベクトル。各ベクトル要素にはデフォルト値が適用されます。 |
|
alpha |
1 |
特徴の仮定の生起回数を含むサイズ p のベクトル。各ベクトル要素にはデフォルト値が適用されます。 |
分散処理モードのナイーブベイズ分類器訓練では、以下の図のように 2 ステップの計算スキーマを使用します。
このステップのナイーブベイズ分類器訓練の入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
入力 ID |
入力 |
|
---|---|---|
data |
ローカルノードの i 番目のデータブロックを表す ni x p 数値テーブルのポインター。このテーブルは、NumericTable の派生クラスのオブジェクトです。 |
|
labels |
i 番目のデータブロックに関連付けられたクラスラベルを含む ni x 1 数値テーブルのポインター。このテーブルは、NumericTable の派生クラスのオブジェクトです。 |
このステップで、ナイーブベイズ分類器訓練は次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
結果 ID |
結果 |
|
---|---|---|
partialModel |
i 番目のデータブロックに対応する部分ナイーブベイズ分類器モデルのポインター。結果は Model クラスのオブジェクトです。 |
ステップ 2 - マスターノード
このステップのナイーブベイズ分類器訓練の入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
入力 ID |
入力 |
|
---|---|---|
partialModels |
ステップ 1 でローカルノードで計算された部分モデルのコレクション。Model クラスのオブジェクトを含むコレクションです。 |
このステップで、ナイーブベイズ分類器訓練は次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
結果 ID |
結果 |
|
---|---|---|
model |
訓練されているナイーブベイズ分類器モデルのポインター。結果は Model クラスのオブジェクトです。 |
インテル® DAAL ディレクトリーの次のサンプルを参照してください。
C++: ./examples/cpp/source/naive_bayes/multinomial_naive_bayes_distributed.cpp
Java*: ./examples/java/source/com/intel/daal/examples/naive_bayes/MultinomialNaiveBayesDistributed.java