損失行列を用いた木の剪定
この演習では、損失行列を用いて構築した木を剪定し、不正に分類されたデフォルトに対して、非デフォルトの誤分類よりも大きなペナルティを与えるようにします。
この演習はコースの一部です
R で学ぶクレジットリスク・モデリング
演習の手順
- 乱数シードを設定し、
tree_loss_matrixを再構築するコードを実行してください。 - 関数 plotcp() を使って、交差検証誤差の構造を確認します。
- cp プロットを見ると、最小の交差検証誤差で剪定すると、
cp = 0.001で誤差が最小となるため、剪定前と同じ大きさの木になることがわかります。木を少し小さくしたいので、cp = 0.0012788を使って剪定してみましょう。この複雑度パラメータでは、交差検証誤差が観測された最小誤差に近づきます。剪定した木のオブジェクト名はptree_loss_matrixとしてください。 - パッケージ
rpart.plotはワークスペースに読み込まれています。関数prp()(引数extra = 1を含む)を使って剪定後の木をプロットしてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# set a seed and run the code to construct the tree with the loss matrix again
set.seed(345)
tree_loss_matrix <- rpart(loan_status ~ ., method = "class", data = training_set,
parms = list(loss=matrix(c(0, 10, 1, 0), ncol = 2)),
control = rpart.control(cp = 0.001))
# Plot the cross-validated error rate as a function of the complexity parameter
# Prune the tree using cp = 0.0012788
# Use prp() and argument extra = 1 to plot the pruned tree