Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Voer de code uit om een seed te zetten en tree_loss_matrix opnieuw 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 met cp = 0.0012788. Voor deze complexiteitsparameter nadert de gekruisvalideerde fout de minimaal waargenomen fout. Noem de gesnoeide boom ptree_loss_matrix.
  • Het pakket rpart.plot is geladen in je werkruimte. Plot de gesnoeide boom met de functie prp() (inclusief het argument extra = 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
Code bewerken en uitvoeren