Undersampling des Trainingssatzes
Im Video hast du gesehen, dass du das Problem unausgewogener Daten mit Under- oder Oversampling angehen kannst. Der Trainingssatz wurde für dich per Undersampling angepasst, sodass 1/3 des Trainingssatzes aus Defaults und 2/3 aus Non-Defaults besteht. Der resultierende Datensatz steht dir in deinem Workspace als undersampled_training_set zur Verfügung und enthält weniger Beobachtungen (6570 statt 19394). In dieser Übung erstellst du einen Entscheidungsbaum mit dem undersampleten Datensatz.
Du wirst feststellen, dass die Bäume in dieser und der nächsten Übung sehr groß sind – so groß, dass man sie nicht mehr wirklich lesen kann. Mach dir darüber jetzt keine Sorgen; im nächsten Video zeigen wir dir, wie du sie handlicher machst!
Diese Übung ist Teil des Kurses
<Kurs>Kreditrisikomodellierung in R</Kurs>Übungsanweisungen
- Das Paket rpart wurde für dich installiert. Lade das Paket in deinen Workspace.
- Ändere den bereitgestellten Code so, dass ein Entscheidungsbaum mit dem undersampleten Trainingssatz statt mit
training_setkonstruiert wird. Füge außerdem das Argumentcontrol = rpart.control(cp = 0.001)hinzu.cp, der Komplexitätsparameter, ist der Schwellwert für die Verringerung der Gesamtfehlanpassung bei einem Split. Wenncpnicht erfüllt ist, werden keine weiteren Splits verfolgt. Der Standardwert voncpist 0.01, aber bei komplexen Problemen empfiehlt es sich,cpzu lockern. - Zeichne den Entscheidungsbaum mit der Funktion plot und dem Namen des Baumobjekts. Füge ein zweites Argument
uniform = TRUEhinzu, um gleich große Äste zu erhalten. - Der vorherige Befehl erstellt nur einen Baum mit einigen Knoten und Kanten, aber ohne Text (sogenannte „Labels“) darauf. Verwende die Funktion
text()mit dem einzigen Argumenttree_undersample, um Labels hinzuzufügen.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Load package rpart in your workspace.
# Change the code provided in the video such that a decision tree is constructed using the undersampled training set. Include rpart.control to relax the complexity parameter to 0.001.
tree_undersample <- rpart(loan_status ~ ., method = "class",
data = training_set)
# Plot the decision tree
# Add labels to the decision tree