機械学習でモデリングするときに便利なライブラリ

機械学習でモデリングするときに便利なライブラリ

RのパッケージでCaret(Classification and Regression)をご存知でしょうか?

機械学習の予測モデル構築・評価を 予測モデルの種類によらず
統一フレームワークで実行できるものです。

Rを使って機械学習/予測モデルを構築した経験がある方は、
用いる手法/パッケージによってプログラムの構文やデータ形式が違ったり
手続きが面倒だ・・という印象をお持ちかも知れません。

このCaretパッケージで機械学習のプログラムを作成することで、
色々な手法(2015年11月時点で何と200種類以上!)を用いて
モデル構築→検証→精度比較を行うことが可能です。

※こちらのSlideShareで分かりやすい説明があります。
http://www.slideshare.net/sfchaos/ss-33703018

例えば、ある学習用データを用いて、
サポートベクターマシーンやランダムフォレスト、決定木と
いった複数の手法を用いて複数モデル構築を行う場合

svmFit1<-train(説明変数群,目的変数,method=”svmRadial”)
svmFit2<-train(説明変数群,目的変数,method=”svmLinear”)
svmFit3<-train(説明変数群,目的変数,method=”svmPoly”)
rfFit<-train(説明変数群,目的変数,method=”rf”)
c5Fit<-train(説明変数群,目的変数,method=”C5.0Tree”)

・・といった構文で、methodを対応する手法パラメータに
変更することで、それぞれモデル化が可能です。

それらの複数モデルで検証用データを予測して
精度評価を行う際にも

allPred<-extractPrediction(list(svmFit1,svmFit2,svmFit3,rfFit,c5Fit),testX=説明変数群,目的変数)

この関数一発で複数モデルを使って一気に予測結果を出力可能です。

具体的なソースコードは、色々な方が公開されています。

http://d.hatena.ne.jp/isseing333/20101022/1287735709
http://kanosuke.hatenadiary.jp/entry/2015/10/19/231724

データ容量が大きいと、処理時間が多くかかるのはネックですが、
気軽に色々な手法を比較して、どんどん精度の高いモデルを見つけ出すという
意味では、有益なパッケージではないでしょうか。
是非、ご活用下さい!