Weka: Data Mining Software in Java

9 Dec

Wekaというものを使ってみた。存在は1年以上前から知っていたが、機械学習アルゴリズムのJavaによる「ライブラリ」だと思っていた。しばらくの間研究に必要なプログラムをC++またはRubyで書いていたので、Wekaに目を向けることはなかった。

いまBlog関連でやっている研究で、ある問題に文書分類アルゴリズムを使ってみようと思った。今回のテーマでは研究用プログラムをJavaで書いてみていて(書くの楽ちんだしね!)、C++のときに使っていたTinySVMや自作のNaiveBayes, AdaBoostライブラリの代わりになるものとして自然とWekaに目がいった。

Wekaをダウンロードして、ホームページに目を通すと、単なるライブラリではないことが分かる。たくさんの機械学習アルゴリズムが実装されており、それぞれのアルゴリズムは必要なパラメータを設定できるようになっている。さらに、たとえばスペース区切りの単語をfeature vectorとして扱うためのフィルタのように、一般的に学習アルゴリズムを使う際に必要な処理がプラグインのような形で用意されている。そして、これに何よりも驚いたが、これらのことが全てGUIからできるようになっている。

GUIの使い方が分かってから、目的のデータの分類精度をNaiveBayes, SVMそれぞれで10通りのデータサイズで精度と速度を見るのに1時間かからなかった。今まで使ってこなかったことが残念だ。研究用に使えるツールにはGUIがないものが多い。GUIがないというのはCUIがないよりはずっとマシだが(CUIがなければスクリプトで制御できないから)、manページで調べなくても何ができるのがぱっと見で分かるのはとてもありがたい。

Leave a Reply

Your email address will not be published.