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
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_nondefte vervangen door 10 encost_nondef_as_defdoor 1. Neem, net als in de vorige oefeningen,rpart.controlop 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 = TRUEtoe om takken even groot te maken en voeg labels toe aan de boom mettext()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