« 読了:Kohavi(1995) 分類器の正確性の指標を比較する (ホールドアウト, CV, ブートストラップ) | メイン | 読了:Gromping (2009) 変数の重要性の評価: 線形回帰 vs. ランダム・フォレスト »
2015年4月28日 (火)
Kuhn, M. (2008) Building predictive models in R using the caret package. Journal of Statistical Software, 28(5).
Rのcaretパッケージについての開発者による紹介。頭が古いのかもしれないけど、実戦投入するパッケージについては、なにかこういうオフィシャルな文書に目を通しておかないと落ち着かないのである。
2008年発表の論文だから現在とは機能がずいぶんちがうかもしれないけど、一時的に2008年に戻ったつもりで... 調べてみると、福田さんが「あなたとは違うんです」と言い残して辞めた年、オバマさんが大統領になった年、「蟹工船」の文庫本が売れた年である。なんだ、つい最近じゃんか。ついでにいえば、70年代末のTVアニメ「未来少年コナン」で、超磁力兵器による地殻変動で世界中が海に沈んだ年でもある由。私は数年前にはじめて観たんですが、あれ、ホントに面白いですね。モンスリーさんが実に素敵である。
ええと、パッケージ名はclassification and regression trainingの頭文字。紹介されている関数は次のとおり。
- データ準備:
- createDataPartition(): データを分割する
- nearZweroVar(): 分散が0に近い変数をみつける
- findCorrelation(): 相関している変数をみつける
- preProcess(): 変数の変換
- モデル構築:
- train(): caratパッケージの主役。この論文の段階では、method引数で38個の方法を選べることになっている(現時点ではたしか90個以上になっているんじゃないかな)。
- 予測:
- predict.train(): train()の返し値やそのリストに対するpredict()
- extractPrediction(), extractProb(): train()の返し値のリストから予測や予測確率を抽出する
- 分類成績
- sensitivity(), specificity(), posPredValue(), negPredValue()
- confusionMatrix(): sensitivityやspecificityなどを含め、いろいろ要約してくれる
- roc(), aucRoc() [...という関数があることになっているが、現在はない模様]
- その他のモデリング用関数
- kkn3(): k近隣法
- bagEarth(): 多変量適応型回帰スプライン(MARS)のバギング版
- bagFDA(): 柔軟判別分析のバギング版
- plsda(): PLS回帰で判別分析
- 予測変数の重要性
- varImp(): 重要性を吐く。なにをもって重要性とするかはモデルによる。たとえば線形モデルなら t 値の絶対値。[←最新版できちんと調べておこう...]
webをみると、最新版の機能はこれどころでは済まない模様。ありがたいけど、参るね、どうも...
論文:データ解析(2015-) - 読了:Kuhn (2008) R の caret パッケージ