Aan de slagGa gratis aan de slag

Een verliesmatrix opnemen

Ten derde kun je een verliesmatrix opnemen, waarmee je het relatieve belang aanpast van het verkeerd classificeren van een default als non-default versus een non-default als default. Je wilt benadrukken dat het verkeerd classificeren van een default als non-default zwaarder bestraft moet worden. Het opnemen van een verliesmatrix kan opnieuw via het argument parms in de verliesmatrix.

parms = list(loss = matrix(c(0, cost_def_as_nondef, cost_nondef_as_def, 0), ncol=2))

Hiermee maak je een 2x2-matrix met nullen op de hoofddiagonaal en aangepaste verliesstraffen buiten de diagonaal. De standaardverliesmatrix heeft enen buiten de diagonaal.

Deze oefening maakt deel uit van de cursus

Kredietrisicomodellering in R

Cursus bekijken

Oefeninstructies

  • Pas de gegeven code aan zodat er een verliesmatrix is opgenomen, met een bestraffing die 10 keer zo groot is wanneer een daadwerkelijke default als non-default wordt geclassificeerd. Dit doe je door cost_def_as_nondef te vervangen door 10 en cost_nondef_as_def door 1. Neem, net als in de vorige oefeningen, rpart.control op om de complexiteitsparameter te versoepelen naar 0.001.
  • Plot de beslisboom met de functie plot en de naam van het boomobject. Voeg een tweede argument uniform = TRUE toe om takken even groot te maken en voeg labels toe aan de boom met text() en de naam van het boomobject.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Change the code below such that a decision tree is constructed using a loss matrix penalizing 10 times more heavily for misclassified defaults.
tree_loss_matrix <- rpart(loan_status ~ ., method = "class",
                          data =  training_set)


# Plot the decision tree


# Add labels to the decision tree

Code bewerken en uitvoeren