De boom snoeien met de verliesmatrix
In deze oefening snoei je de boom die is opgebouwd met een verliesmatrix, zodat misgeclassificeerde defaults zwaarder worden bestraft dan misgeclassificeerde non-defaults.
Deze oefening maakt deel uit van de cursus
Kredietrisicomodellering in R
Oefeninstructies
- Voer de code uit om een seed te zetten en
tree_loss_matrixopnieuw te construeren. - Gebruik de functie plotcp() om de gekruisvalideerde foutstructuur te bekijken.
- Als je naar de cp-plot kijkt, zie je dat snoeien op basis van de minimale gekruisvalideerde fout leidt tot een boom die net zo groot is als de ongesnoeide boom, omdat de gekruisvalideerde fout zijn minimum bereikt bij
cp = 0.001. Omdat je de boom wat kleiner wilt maken, probeer je de boom te snoeien metcp = 0.0012788. Voor deze complexiteitsparameter nadert de gekruisvalideerde fout de minimaal waargenomen fout. Noem de gesnoeide boomptree_loss_matrix. - Het pakket
rpart.plotis geladen in je werkruimte. Plot de gesnoeide boom met de functieprp()(inclusief het argumentextra = 1).
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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