データマイニングのための柔軟なデータ取得、操作を支援するAPIの設計
Download
Report
Transcript データマイニングのための柔軟なデータ取得、操作を支援するAPIの設計
データマイニングのための柔軟
なデータ取得、操作を支援する
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では、
マイニングシステム構築の基盤を提供
柔軟なデータ操作、データ取得
そして多用な出力チャネルを持てる
今後の課題
実行速度の改善
データ操作メソッドの実装最適化
内部アルゴリズムの改善
インスタンス生成回数の低減