causal_statのノート

R, Tex, データサイエンスに関するノート

CART : RでCART

CART Classification and Regression Tree

CART のまとめは一度書いたがもう一度トライ
主に、Breiman Friedman, Olshen, Stone (BFOS)と下川・杉本・後藤に基づく。

CARTは次の3つのプロセスから構成される
(i) Tree を 最大まで(基準を満たすまで)成長させる (このtreeをT_{\max}で表す
(ii) T_{\max}をprunning して、最終ノード数の異なる複数のtree を作成
(iii) prunning したtree の列から最適なtree を選択する(cross-validation を用いる)

Rでの実行例 ( https://rpubs.com/minma/cart_with_rpart )

set.seed(123)
tree <- rpart(survived ~ ., data = ptitanic, control = rpart.control(cp = 0.0001))
printcp(tree)  

bestcp <- tree$cptable[which.min(tree$cptable[,"xerror"]),"CP"]

tree.pruned <- prune(tree, cp = bestcp)


Prunning の方法は解説論文
https://cran.r-project.org/web/packages/HSAUR/vignettes/Ch_recursive_partitioning.pd
のp3,4 に説明されている。xerror (誤確率のcross-validation estimates)を最小にするnsplit を選択する。
また、金教授のサイト3.3節にも解説がある。
https://www1.doshisha.ac.jp/~mjin/R/Chap_19/19.html