機械学習統合環境Wekaの使い方
研究でちょっとだけ使う必要があったWekaという機械学習のプラットフォーム的なソフトウェアについて紹介します.
Wekaとは
Weka(Waikato Environment for Knowledge Analysis)は,ニュージーランドのワイカト大学で開発されたソフトウェアで,ざっくり言うとデータさえあれば様々な機械学習アルゴリズムを即時実行できるツールです.また,Deep Learningもサポートしてます.
個人的なWekaの良いなと思う点は,様々な機械学習アルゴリズムを即時実行できる点もそうなのですが,強力な可視化ツールとしても使用できる点が非常に気に入ってます.このWekaを可視化ツールとして使って,これ特徴量として糞だなとか判定することができます.もちろん,良い特徴量を選択するアルゴリズム(変数選択)もいくつかサポートしており,これも魅力の1つです.
以降では,Linuxの環境を想定したWekaのインストール〜サンプルのデータ分類までを紹介してます.また,クロスプラットフォームで大抵のOSで実行可能です.
Wekaのインストール
上記のWebサイトに行って,"Software->Stable version->任意のプラットフォーム->Click here to download"でダウンロードします.
weka-($version).zipみたいなファイルがダウンロードされます.これを解凍すると以下のようなファイル群になります.ちなみに,dataディレクトリの中にサンプルデータがいくつか保存されており,このデータを以降で用います.
Wekaの実行
ターミナルで解凍したファイルが見えるディレクトリまで移動し,以下のコマンドでWekaを実行できます.
$ java -jar weka.jar
実行すると下図のようなウィンドウが出現します.
Wekaのサンプルデータのロード
図2のApplicationsの中のExplorerをクリックすると,下図の画面に遷移します.
次に,図3の左上のOpen file...を選択します.そして,ファイル選択で,
(ダウンロードしてきたWekaのファイルが展開されているディレクトリ)/data/iris.arff
を選択します.私の場合,
~/Downloads/weka-3-8-3/data/iris.arff
でした.arffはファイルフォーマットで,wekaでcsv形式のファイルをOpenすると,arff形式に変換して保存することもできます.iris.arffは花弁 (petal) の長さ・幅と萼片(sepal)の長さ・幅を保存しているデータです.それぞれのデータがアヤメ属に属する3品種 (setosa,versicolor,versinica)のどれかにラベル付けされています.
以降では,実際に機械学習アルゴリズムをこのデータに適用します.
Random Forestの実行
今回は分類アルゴリズムで名が知れているRandom Forestを試してみます.前節で述べた通りファイルをOpenした後,Classify, Clusterなど選択可能なtabが増えます.今回行うのはClassify(分類)なので,Classifyへ移動します.下図のように,Classifierをweka->classifiers->trees->RandomForestを選択します.その後,左にあるStartを押してしばらくすると結果がClassifer outputに表示されます.
他にも,Select attributes tab,Visualize tabを選択することで,Openしてるデータに変数選択アルゴリズムを適用したり,可視化することができます.
最後に
機械学習を専門で研究してる訳ではないのでこのツールがイケてるかどうかはわからないので,機械学習できるマンは良いツールを教えてください.