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

データ管理

効率的なデータ管理は、データ解析アプリケーションのパフォーマンスの重要な要素です。インテル® DAAL で効率的なデータ管理を行うには、以下の操作を効率良く実行する必要があります。

  1. ローデータの取得、フィルタリング、データ・ソース・インターフェイスの正規化。
  2. 数値テーブル用の数値表現へのデータの変換。
  3. 数値テーブルからアルゴリズムへのデータ・ストリーミング。

使用モデルによっては、操作するデータを圧縮および展開します。データ・ソース・インターフェイスに組込まれている圧縮/展開を使用するか、データのシリアル化/逆シリアル化インターフェイスを適用します。

インテル® DAAL は、バッチ処理、オンライン処理、分散処理、オンライン処理と分散処理の組み合わせのようなより複雑なシナリオを含む、異なる使用シナリオでメモリー外およびインメモリーのデータを操作する、カスタマイズ可能なインターフェイスのセットを提供します。

インテル® DAAL のデータ管理の重要な概念の 1 つはデータセットです。データセット は、解析およびモデル化されているオブジェクトを特徴付ける、定義された構造のデータのコレクションです。具体的には、オブジェクトは、次元 p の特徴ベクトルを形成する、属性 (特徴) のセットで特徴付けられます。複数の特徴ベクトルは、サイズ n の観測のセットを形成します。インテル® DAAL は、テーブルの行が観測を表し、列が特徴を表す、データセットのテーブル表示を定義します。


観測は、観測されたオブジェクトの特定の測定に対応します。観測が終わると、個別のモーメントで、観測のセットはオブジェクトがどのように発展するか特徴付けます。

指定されたモーメントで特徴のサブセットのみを測定できることは珍しくありません。この場合、特徴ベクトルで測定されなかった特徴は、空白になるか不足します。特別な統計手法により、欠測の回復 (エミュレーション) が可能です。

指定された計測が外れ値になったり、観測されたオブジェクトが外れ値を生成することも珍しいことではありません。外れ値 は、一般的な値からの偏差が異常な値です。特別な統計手法により、外れ値の検出と異常なデータの回復が可能です。


通常は、ローデータセットのインターフェイスを提供する、適切なデータソースを選択することにより、インテル® DAAL での作業を開始します。インテル® DAAL のデータソースは、カテゴリカル、順序、連続特徴をサポートしています。つまり、データソースが非数値のカテゴリカルおよび順序データを数値表現に自動的に変換します。ローデータの構造が複雑な場合やデフォルトの変換メカニズムが要件を満たさない場合は、カスタム派生クラスを実装してデータソースをカスタマイズします。

データソースは通常、ファイルやデータベースなどのメモリー外のデータと関連付けられるため、メモリー外のデータをメモリーに格納して戻すことは、データソースの重要な機能です。しかし、データソースを使用してインメモリーの非数値データを数値フォームに変換することもできます。

数値テーブルは、インメモリーの数値データを操作する重要なインターフェイスです。インテル® DAAL は、同次テーブル、構造体配列 (AOS)、配列構造体 (SOA)、疎データの CSR (Compressed Sparse Row) エンコーディングなどの、いくつかの重要な数値データレイアウトをサポートしています。

インテル® DAAL のアルゴリズムは、数値テーブル・インターフェイスでアクセスしたインメモリー数値データを操作します。