【コラム】

Yet Another 仕事のツール

16 データマイニングツール MUSASHI(5) MUSASHIとWEKA

    鶴田展之  [2004/04/27]

    前回は、MUSASHIの出力結果をARFFフォーマットで出力する方法を紹介した。ARFFは高機能なデータマイニングツール"WEKA"が採用するデータフォーマットだ。今回はMUSASHIから出力したARFFファイルを、WEKAで実際に利用してみよう。

    WEKAは"Machine Learning"、つまり直訳すると「機械学習」の研究と普及のために開発されているソフトウェアだ。機械学習は、コンピュータが経験したことを自動的に取り込み、以降の処理に活かしていくような人工知能的な情報処理の分野であり、データマイニングで利用されるアルゴリズムの多くは、機械学習に関する研究を取り入れたものだ。WEKAは多くの機械学習アルゴリズムを実装した、様々な用途に使える汎用的なシステムだが、今回はMUSASHIと組み合わせた可視化ツール、つまりビジュアライザとして使用する目的に絞って紹介しよう。

    今回も、あらかじめテストデータを用意しておこう。「顧客の年齢や性別の分布を調査する」ことを目的として、以下のようなMUSASHIのスクリプトを実行する。

    #!/bin/bash
    xtcal -c 'age("20040501",$生年月日)' -a 年齢 -i cust.xt -o xx01.xt
    xt2arff -n 年齢 -d 顧客,性別 -i xx01.xt |
    nkf --windows > age.arff

    このスクリプトでは、xtcalによって顧客それぞれの2004年5月1日時点での年齢を算出し、xt2arffでARFF形式の"age.arff"ファイルを出力している。

    これでテストデータは準備できたので、早速WEKAをダウンロードしてセットアップする。WEKAは開発言語としてJavaを採用しており、基本的にプラットフォームを問わず動作する。配布サイトにはWindows、Mac OS X、Linux用の配布パッケージがそれぞれ用意されているので、使用する環境に合わせてダウンロードしよう。なお、本稿では動作検証用としてMac OS X版を使用した。

    WEKAを起動すると、まず「Weka GUI Chooser」の画面が表示される。ここでは、以下の4つのインタフェースをから、目的に応じて使用するインタフェースを選択できる。


    • Simple CLI
    • コマンドラインから直接WEKAの機能を操作するインタフェース

    • Explorer
    • ひとつひとつのマイニングプロセスを個別に実行する基本的なインタフェース

    • Experimenter
    • 複雑なデータマイニング処理を一括して定義・実行するインタフェース

    • KnowledgeFlow
    • ExplorerやExperimenterで実行するマイニングプロセスの流れをフロー図で表現するツール

    まずは単純に"Explorer"インタフェースを使用して、ARFFデータをグラフ化するだけの処理を行ってみよう。GUI Chooserから"Explorer"を選択すると、"Weka Explorer"の画面が表示される。

    早速データファイルを開いてみよう。"Preprocess"の画面のまま、「Open file...」ボタンをクリックし、あらかじめ出力しておいたage.arffファイルを選択する。

    WEKAは読み込んだARFFファイルは直ちに解釈し、様々な情報を画面上に表示する。属性(Attributes)項目の数や名前が正しく解釈されているか確認しよう。画面右下には年齢毎の顧客数のグラフが表示される。この例では、40~50代が年代別の顧客数のピークであることがわかる。続けて、画面左の"Attributes"領域から「性別」をクリックしてみよう。

    このグラフからは、性別では女性(青)が大半で、男性顧客は全顧客の10%強のみだということがわかるだろう。

    画面上部にも「Visualize」タブがある。こちらの機能も使ってみよう。このタブをクリックすると、各属性毎のマトリクスが表示される。

    初期状態では描画されるドットが小さすぎてほとんど見えないので、"PointSize"や"Jitter"のスライドバーを調整して"Update"ボタンをクリックしてみよう。ドットの分布が見やすくなるはずだ。

    マトリクスの左と上には、属性の名前が表示されている。それぞれが交差した枠をクリックすると、X軸Y軸それぞれに各属性を割り当てた二次元のグラフが自動的に描画される。X軸に年齢、Y軸に性別を選べば、男女別年齢別に顧客の人数の分布をわかりやすく可視化できるだろう。

    以上のように、MUSASHIで前処理したデータをWEKAを使って可視化することで、分析者は複雑な分析結果を直観的に把握できるようになる。

    繰り返しになるが、WEKAも本来はMUSASHI同様独立したデータマイニングツールであり、その機能は可視化ツールにとどまるものではない。今のところ日本語の情報も活用事例も少ないので、専門知識なしに使いこなすのは難しいが、オープンソースの世界では大きな注目を集めている分野でもあり、今後急速に事例も増えていくだろう。ドキュメント類も徐々に整備されていくと思うので、是非根気よく注目していて欲しいツールのひとつだ。

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン