インテル® DAAL プログラミング・ガイド
このモードは、データセットが計算ノードの nblocks ブロックに分割されていると仮定します。
分散処理モードの K 平均法アルゴリズムのパラメーターは次のとおりです。
パラメーター |
デフォルト値 |
説明 |
|
---|---|---|---|
computeStep |
適用不可 |
アルゴリズムを初期化するために必要なパラメーターです。次のいずれか。
|
|
algorithmFPType |
double |
アルゴリズムが中間計算に使用する浮動小数点の型。float または double を指定できます。 |
|
method |
defaultDense |
K 平均法により使用される計算メソッド。現在サポートしている唯一のメソッドは、Lloyd です。 |
|
nClusters |
適用不可 |
クラスターの数。アルゴリズムを初期化するために必要です。 |
|
gamma |
1.0 |
二項カテゴリカル特徴の距離計算に使用する重み。 |
|
distanceType |
euclidean |
クラスターにする観測点間の接近の基準。現在は、ユークリッド距離のみサポートしています。 |
|
assignFlag |
false |
assignments の計算を有効にする (それぞれの観測にクラスター・インデックスを割り当てる) フラグ。 |
分散処理モードで K 平均法を計算するには、アルゴリズムで説明されている一般的なスキーマを使用します。
このステップの K 平均法アルゴリズムの入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
入力 ID |
入力 |
|
---|---|---|
data |
ローカルノードの i 番目のデータブロックを表す ni x p 数値テーブルのポインター。入力は、NumericTable の派生クラスのオブジェクトです。 |
|
inputCentroids |
初期クラスター・セントロイドを含む nClusters x p 数値テーブルのポインター。この入力は、NumericTable の派生クラスのオブジェクトです。 |
このステップで、K 平均法アルゴリズムは次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
結果 ID |
結果 |
|
---|---|---|
nObservations |
ローカルノードのクラスターに割り当てられた観測点の数を含む nClusters x 1 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
|
partialSums |
ローカルノードのクラスターに割り当てられた観測点の部分和を含む nClusters x p 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrix、PackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
|
partialGoalFunction |
ローカルノードのクラスターで処理された観測点の小目標関数の値を含む 1 x 1 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
このステップの K 平均法アルゴリズムの各ローカルノードからの入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
入力 ID |
入力 |
|
---|---|---|
partialResuts |
ローカルノードのステップ 1 で計算された結果を含むコレクション。 |
このステップで、K 平均法アルゴリズムは次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
結果 ID |
結果 |
|
---|---|---|
centroids |
クラスター・セントロイドを含む nClusters x p 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrix、PackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
|
assignments |
assignFlag=true の場合に使用します。入力データの特徴ベクトルへのクラスター・インデックスの割り当てを含む n x 1 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrix、PackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
|
goalFunction |
目標関数の値を含む 1 x 1 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
インテル® DAAL ディレクトリーの次のサンプルを参照してください。
C++: ./examples/cpp/source/kmeans/kmeans_distributed.cpp
Java*: ./examples/java/source/com/intel/daal/examples/kmeans/KMeansDistributed.java