[連載] フリーソフトによるデータ解析・マイニング 第22回

WEKAのExperimentとKnowledgeFlow環境

1.Experimentの環境

  先月号では、複数のデータセットに複数のデータマイニングの方法を用いて比較分析を行った。WEKA の Explorer 環境では、このような作業は、各々のデータに一つひとつの方法を対応させるので効率が悪い。WEKA では、複数のデータと方法をまとめて処理する Experimenter 環境を提供している。その操作の手順を次に説明する。

  @ WEKA の GUI の [Experimenter] ボタンを押し、Experiment 環境パネルを開く。

図1 WEKA の GUI

  A Experiment Environment パネルの [New] ボタンを押す。

図2 Experiment Environmentパネル

  B 条件を設定し、データファイルと分析手法を読み込む。

図3 複数のデータと方法を読み込んだ画面

  C Run タブをアクティブ化し、[Start] ボタンを押し、計算を開始させる。

図4 計算が終了した画面

  D 計算が終了したら、Analyse タブをアクティブ化し、[Experiment] ボタンをクリックする。

図5 Analyse タブの画面

  E [Perform test] ボタンを押すと Test output のウィンドウに結果が返される。

図6 実行結果の画面

  さらに、図7のような操作を行うと、図8のような独立したパフォーマンスの結果を返すウィンドウが開かれる。

図7 パフォーマンスの結果画面

図8 独立したパフォーマンスの結果画面

  Test output のウィンドウに返された結果は、[Save output] ボタンを用いて、保存することができる。

2.KnowledgeFlowの環境と機能

(1) KnowledgeFlowとは

  WEKA の GUI (図1) には、KnowledgeFlow というボダンが設けられている。KnowledgeFlow は、データの処理システムを、コンポーネント (component、構成要素・部品) アイコンを組み合わせて自由に構築するグラフィカル環境である。
  KnowledgeFlow は発展途上であり、WEKA の“classifiers”と“filters”のすべての機能が実装されているが、“clustering”の機能の実装は若干遅れている。その一方、Explorer にない機能を持っている。
  WEKA の Explorer では、データのバッチ処理しかできないが、KnowledgeFlow ではバッチ処理と段階的な処理を行うことができる。KnowledgeFlow は次のような特徴を持っている。

  @ データの処理の流れが直感的
  A データの段階的処理とバッチ処理
  B データの平行処理
  C filters の連結
  D 交差確認の結果の視覚化
  E 段階的な処理の視覚化

(2) KnowledgeFlowの起動と基本操作

  WEKA の GUI の [KnowledgeFlow] ボタンを押すと図9のような KnowledgeFlow 環境のパネルが開かれる。

図9 独立したパフォーマンスの結果画面

  KnowledgeFlow 環境パネルには、複数のタブ (Evaluation、Visualization Filters、Classifiers、Clusterers、DataSources、DataSinks) があり、各タブをクリックするとパネルにコンポーネントアイコンが現れる。その中の一つひとつのアイコンがデータ処理およびマイニングシステムを構築する部品である。
  パネルの下部に KnowledgeFlow Layout というカンバス (canvas) がある。使用者は、コンポーネントアイコンをカンバス上で連結させ、データ処理とマイニングのシステムを構築する。
  データの処理とマイニングを行うためには、まずデータを読み込まなければならない。
  データの読み込みは、まず DataSources タブをアクティブ化する。DataSources には、WEKA が扱っているデータファイル形式のコンポーネントがある。コンポーネントのアイコンを左クリックするとコンポーネントが選定される。コンポーネントが選定された状態で、マウスポインタをカンバスに移し、左クリックするとコンポーネントがカンバスに取り込まれる (図10)。取り込まれたアイコンは、マウスの左ボタンで自由に配置位置を換えることができる。アイコンを右クリックするとアイコンを操作するメニューが開かれる (図11)。操作メニューの項目を表1に示す。

図10 コンポーネントを選定した画面

図11 カンバスにコンポーネントを取り込んだ画面

表1 dataアイコンの操作メニュー
 Edit
 Delete  アイコンの削除
 Set name  名前の定義
 Configure  データを読み込むなど
 Connections
 dataSet  アイコン連結と切断
 instance  アイコン連結と切断
 Actions
 Start loading  データを流す

  データは、data アイコンの操作メニューの Configure を左クリックし、データが置かれているフォルダを開きデータファイルをクリックすることで読み込まれる。
  上記の操作で、データが正しく読み込まれているかを確認するため、Visualization タブをアクティブ化し、テキストの表示コンポーネント TextViewer をカンバスに取り込み、図12のようにコンポーネントアイコンを連結する。
  アイコンの連結は、基本的にはデータの流れの先後の順に行う。アイコンを右クリックするとアイコンの操作メニューが開かれる。メニューの Connection の中の dataSet を選択し、マウスのポインタを連結すべきアイコンまで引き、つなぎ合うことでアイコン同士が連結される。連結の切断は、アイコン操作のメニューを開き、連結されている項目を左クリックする。
  アイコンの連結操作が終わったら、data アイコンの操作メニューを開き、Actions 下の Start loading を左クリックするとデータが流される。TextViewer アイコンの操作メニューを開き、Show result を左クリックすると、読み込んだデータを返すテキストウィンドウが開かれる。

図12 2つのアイコンを連結した画面

  読み込んだデータは、図13のように Visualization タブの中の DataVisualizer、ScatterPlotMatrix、AttributeSummarizer のコンポーネントを用いて、散布図、対散布図、ヒストグラムを作成することができる。