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

バッチ処理

アルゴリズムの入力

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

入力 ID

入力

data

クラスターにするデータを含む n x p 数値テーブルのポインター。入力は、NumericTable の派生クラスのオブジェクトです。

inputCentroids

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

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

K 平均法アルゴリズムのパラメーターは次のとおりです。

パラメーター

デフォルト値

説明

algorithmFPType

double

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

method

defaultDense

K 平均法により使用される計算メソッド。現在サポートしている唯一のメソッドは、Lloyd です。

nClusters

適用不可

クラスターの数。アルゴリズムを初期化するために必要です。

maxIterations

適用不可

反復回数。アルゴリズムを初期化するために必要です。

accuracyThreshold

0.0

アルゴリズムを終了するしきい値。

gamma

1.0

二項カテゴリカル特徴の距離計算に使用する重み。

distanceType

euclidean

クラスターにする観測点間の接近の基準。現在は、ユークリッド距離のみサポートしています。

assignFlag

true

assignments の計算を有効にする (それぞれの観測にクラスター・インデックスを割り当てる) フラグ。

アルゴリズムの出力

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

結果 ID

結果

centroids

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

assignments

assignFlag=true の場合に使用します。入力データの特徴ベクトルへのクラスター・インデックスの割り当てを含む n x 1 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

goalFunction

目標関数の値を含む 1 x 1 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

nIterations

アルゴリズムにより行われる実際の反復回数を含む 1 x 1 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

サンプル

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

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

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