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

分散処理

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

パラメーター

分散処理モードの K 平均法のセントロイド初期化のパラメーターは次のとおりです。

パラメーター

デフォルト値

説明

computeStep

適用不可

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

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

algorithmFPType

double

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

method

defaultDense

K 平均法の初期化メソッド。

nClusters

適用不可

クラスターの数。必須です。

startingIndex

0

ローカルノードに格納されたブロックの最初を指定するデータセット全体のオフセット。

K 平均法のセントロイド初期化は、アルゴリズムで説明されている一般的なスキーマに従います。

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

このステップの K 平均法のセントロイド初期化の入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

入力 ID

入力

data

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

inputCentroids

初期クラスター・セントロイドを含む nClusters x p 数値テーブルのポインター。この入力は、NumericTable の派生クラスのオブジェクトです。

このステップで、K 平均法のセントロイド初期化は次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

結果 ID

結果

nPartialClusters

ローカルノードで計算されたクラスターの数を含む 1 x 1 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

partialClusters

ローカルノードで計算されたクラスター・セントロイドを含む nClusters x p 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

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

このステップの K 平均法のセントロイド初期化の各ローカルノードからの入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

入力 ID

入力

partialResuts

ステップ 1 でローカルノードで計算された結果 (各ローカルノードの 3 つの数値テーブル) を含むコレクション。

このステップで、K 平均法のセントロイド初期化は次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

結果 ID

結果

centroids

クラスター・セントロイドを含む nClusters x p 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

サンプル

インテル® DAAL ディレクトリーの次のサンプルを参照してください。

C++: ./examples/cpp/source/kmeans/kmeans_distributed.cpp

Java*: ./examples/java/source/com/intel/daal/examples/kmeans/KMeansDistributed.java