2013年4月11日木曜日

CRANで提供されているパッケージのカスタマイズ方法のメモ

分類器の挙動をあまり良く知らなくても、
ライブラリの使い方がある程度把握できていれば
クラス分類とかが出来てしまう。

 しかも、それをフリーツールで実現できてしまう。


今はこんなご時世なので、「実際使ってみる方が先決」っていった
話になりやすい環境にあると感じるのですが・・・。

いろいろ検証し始めると、やっぱり自分専用に欲しくなってしまう機能なんて
出てきたりするもんなんですよ。
他にも、やっぱりライブラリの中身の挙動を
具体的に知りたいっていうときもあります。


そんなわけで、実際にCRANに公開されているrandomForestパッケージを使って
中身の改変に取り組んでみました。


実際の手順は次の通りになりました。
Rの開発実行環境があるのが前提です。
Mac OS X 10.8.xの場合です。

1.RToolsをインストールする。

2.CRANサイトから、randomForestのソースコードのtar.gzをダウンロードし、
  ワークディレクトリ上で解凍。
  解凍し終わったら、後に出来上がってくるtar.gzと区別する意味で
  どこか別のディレクトリに移しておくのをお薦め。

3.randomForest/srcやrandomForest/R で改変したいところを自由に編集する。

4.R CMD check randomForest --no-manual を実行。
  足りないパッケージが出てくるかもしれませんので、そういうのが出てきたら
  その都度R実行環境上でインストールする。

5.R CMD build randomForest でrandomForest.tar.gzを生成。

6.R開発実行環境を立ち上げ、R上でパッケージインストールからインストール。
  もしも、既にrandomForestをフレームワーク下に入れていたならば、
  フレームワーク側の方のrandomForestを削除してからR開発実行環境を立ち上げる。


ハマったのは、まず4。
--no-manualオプションを入れておかないと、マニュアル作成の処理までやろうとして
勝手にエラーを吐いて止まってくれちゃいます。。。
マニュアルが欲しい人はTexLiveを入れて対応するらしいのですが、
まずは改造してみたい人にとっては、マニュアル作成よりも先に
きちんと動かしたいのだと思います。
だから、--no-manualオプションは入れることをお薦めします。

ちなみに、私はTexLiveそのものをインストールしてみたんですが、
このセットアップだけで1時間弱の時間がかかってしまいました。

どうしてもインストールしておきたいならば、寝る前に回しておくことをお薦めします。


つぎに6。
普通にremove.packagesで本家のrandomForestを消してから6をやり直したりしたのですが、
自分で改変した箇所が反映されず、とても悩みました。
フレームワーク内にパッケージを入れているときは、
ユーザー領域にパッケージが入らないので、この点は注意です。



とりあえず、自分用のメモ書きとして、CRANで提供されているパッケージの
カスタマイズの方法を書いてみました。


あ、ちなみに、例題(ってほどでもないですが)で使ったrandomForestパッケージは
ライセンスがGPL2以上となっていますので、これを改造してCRANに上げたい方はご注意くださいね。


(参考)

iAnalysis ~おとうさんの解析日記~
 http://d.hatena.ne.jp/isseing333/20110117/1295197018

10分で分かるRパッケージの作り方
 http://www.slideshare.net/yokkuns/10r

生物統計学
 http://r.livedocs.net/dev/packging.html


0 件のコメント:

コメントを投稿