データマイニングのための柔軟 なデータ取得、操作を支援する APIの設計 2003年2月 伊藤陽生 背景 データマイニング 大量に蓄積されたデータを解析し、その中 に潜む項目間の相関関係やパターンなどを 探し出そうとする事 データの蓄積、抽出のみを目的とした従来の SQLデータベースでは困難なデータ操作の必要 性が生じる 背景 SQLが得意な記述、CやJavaが得意な記述 のどちらもサポートするようなプログラム記 述パターンを提供(図で説明したい) 研究内容 データマイニングシステム構築を支援する APIの、 設計 Javaによる実装 データ解析アプリケーションの作成による評価 データの操作 データテーブルクラス 表をJavaのオブジェクトで表現 自分自身の情報を返すメソッド データ操作メソッド DataTable select(Filter f) 抽出 DataTable sortBy(String column,Order o) 整列 DataTable groupBy(String column,Integration i) 要 約 DataTable join(DataTable right,JoinFilter jf) 結合 設計 DataTable=Table+Columns Columns=Column[] Column Table=Record List Record=Element[] Element 設計 use DataTable use create <<interface>> Filter <<interface>> Order <<interface>> Integration <<interface>> JoinFilter <<interface>> DtWriter <<interface>> DtReader データの操作 操作インタフェース データテーブル操作メソッドの引数として使用 具体的な処理方法をデータテーブルに教える DataTable select(Filter f) 抽出 DataTable sortBy(String column,Order o) 整列 DataTable groupBy(String column,Integration i) 要 約 DataTable join(DataTable right,JoinFilter jf) 結合 整列の例 NumberOrder 数値順整列 DataTable <<interface>> Order select sortBy groupBy use getColumns StringOrder 辞書順整列 compare : : join implements 実装 データの基本操作パッケージ 操作インタフェースの実装 頻繁に行なわれるであろう操作を予め定義 実装 (基本操作一覧表) データの取得 データテーブルを作成するクラス CSV PostgreSQL MicrosoftAccess J2SDKと連携することで、多用な情報源か らデータの取得が可能に データの出力 標準出力 DataTable dt = …; System.out.println(dt); Javax.swing.Jtableへの出力 GUIアプリケーション内に自由に配置 使用例 (スクリーンショットを貼る) まとめ データマイニング概念の普及 多くのマイニングアプリケーションが存在 本研究で作成したAPIでは、 マイニングシステム構築の基盤を提供 柔軟なデータ操作、データ取得 そして多用な出力チャネルを持てる 今後の課題 実行速度の改善 データ操作メソッドの実装最適化 内部アルゴリズムの改善 インスタンス生成回数の低減
© Copyright 2024 ExpyDoc