インテル® DAAL 2017 デベロッパー・ガイド
オンライン処理モードは、データがブロック i = 1, 2, 3, … nblocks で到着すると仮定します。
オンライン処理モードの PCA 計算は、アルゴリズムで説明されているオンライン処理の一般的な計算スキーマに従います。
オンライン処理モードの PCA アルゴリズムの入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
入力 ID |
入力 |
|
---|---|---|
data |
現在のデータブロックを表す ni x p 数値テーブルのポインター。入力は、NumericTable の派生クラスのオブジェクトです。 |
分散処理モードの PCA アルゴリズムのパラメーターは次のとおりです。計算メソッド・パラメーター method に依存します。
パラメーター |
method |
デフォルト値 |
説明 |
---|---|---|---|
algorithmFPType |
defaultDense または svdDense |
double |
アルゴリズムが中間計算に使用する浮動小数点の型。float または double を指定できます。 |
method |
適用不可 |
defaultDense |
PCA 計算に利用可能なメソッド。
|
initializationProcedure |
defaultDense |
適用不可 |
オンライン処理モードのアルゴリズムの初期パラメーターを設定するプロシージャー。デフォルトでは、アルゴリズムは nObservationsCorrelation、sumCorrelation、crossProductCorrelation を 0 で初期化します。 |
svdDense |
適用不可 |
オンライン処理モードのアルゴリズムの初期パラメーターを設定するプロシージャー。デフォルトでは、アルゴリズムは nObservationsSVD、sumSVD、sumSquaresSVD を 0 で初期化します。 |
|
covariance | defaultDense |
SharedPtr<covariance::Online<algorithmFPType, covariance::defaultDense> > |
相関メソッドを含む PCA 計算に使用する相関行列と分散共分散行列アルゴリズム。詳細は、「オンライン処理 (相関行列と分散共分散行列)」を参照してください。 |
オンライン処理モードの PCA アルゴリズムは次の部分結果を計算します。計算される結果は計算メソッドに依存します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
結果 ID |
結果 |
|
---|---|---|
相関メソッド (defaultDense): |
||
nObservationsCorrelation |
処理された観測点の数を含む 1 x 1 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
|
crossProductCorrelation |
計算された部分クロス積行列を含む p x p 数値テーブルのポインター。デフォルトでは、このテーブルは HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrix、PackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
|
sumCorrelation |
計算された部分和を含む 1 x p 数値テーブルのポインター。デフォルトでは、このテーブルは HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrix、PackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
|
SVD メソッド (svdDense): |
||
nObservationsSVD |
処理された観測点の数を含む 1 x 1 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
|
sumSVD |
計算された部分和を含む 1 x p 数値テーブルのポインター。デフォルトでは、このテーブルは HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrix、PackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
|
sumSquaresSVD |
計算された部分 2 乗和を含む 1 x p 数値テーブルのポインター。デフォルトでは、このテーブルは HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrix、PackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
オンライン処理モードの PCA アルゴリズムは次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
結果 ID |
結果 |
|
---|---|---|
eigenvalues |
降順で固有値を含む 1 x p 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrix、PackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
|
eigenvectors |
行優先順で固有ベクトルを含む p x p 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrix、PackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
サンプル
インテル® DAAL ディレクトリーの次のサンプルを参照してください。
C++:
Java*:
Python*: