インテル® DAAL プログラミング・ガイド

分散処理

分散処理モードのナイーブベイズ分類器アルゴリズムは、訓練段階でのみ使用できます。

この計算モードは、データセットが計算ノードの nblocks ブロックに分割されていると仮定します。

訓練

アルゴリズムのパラメーター

訓練段階での分散処理モードのナイーブベイズ分類器のパラメーターは次のとおりです。

パラメーター

デフォルト値

説明

computeStep

適用不可

アルゴリズムを初期化するために必要なパラメーターです。次のいずれか。

  • step1Local - 第 1 ステップ、ローカルノードで実行
  • step2Master - 第 2 ステップ、マスターノードで実行

algorithmFPType

double

アルゴリズムが中間計算に使用する浮動小数点の型。float または double を指定できます。

method

defaultDense

パフォーマンス指向の計算メソッド。アルゴリズムでサポートされている唯一のメソッドです。

nClasses

適用不可

クラスの数、必須パラメーター。

priorClassEstimates

1/nClasses

事前クラス推定を含むサイズ nClasses のベクトル。各ベクトル要素にはデフォルト値が適用されます。

alpha

1

特徴の仮定の生起回数を含むサイズ p のベクトル。各ベクトル要素にはデフォルト値が適用されます。

分散処理モードのナイーブベイズ分類器訓練では、以下の図のように 2 ステップの計算スキーマを使用します。

ステップ 1 - ローカルノード


Naive Bayes Classifier Training, Distributed processing Workflow Step 1

このステップのナイーブベイズ分類器訓練の入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

入力 ID

入力

data

ローカルノードの i 番目のデータブロックを表す ni x p 数値テーブルのポインター。このテーブルは、NumericTable の派生クラスのオブジェクトです。

labels

i 番目のデータブロックに関連付けられたクラスラベルを含む ni x 1 数値テーブルのポインター。このテーブルは、NumericTable の派生クラスのオブジェクトです。

このステップで、ナイーブベイズ分類器訓練は次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

結果 ID

結果

partialModel

i 番目のデータブロックに対応する部分ナイーブベイズ分類器モデルのポインター。結果は Model クラスのオブジェクトです。

ステップ 2 - マスターノード


Naive Bayes Classifier Training, Distributed processing Workflow Step 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