始める無料で始める

損失行列を用いた木の剪定

この演習では、損失行列を用いて構築した木を剪定し、不正に分類されたデフォルトに対して、非デフォルトの誤分類よりも大きなペナルティを与えるようにします。

この演習はコースの一部です

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
コードを編集して実行