Undersampling del training set
Nel video hai visto che, per superare il problema dei dati sbilanciati, puoi usare under- o oversampling. Il training set è stato sottocampionato per te, in modo che 1/3 del training set sia composto da default e 2/3 da non default. L'insieme di dati risultante è disponibile nel tuo workspace con il nome undersampled_training_set e contiene meno osservazioni (6570 invece di 19394). In questo esercizio creerai un albero di decisione usando l'insieme di dati sottocampionato.
Noterai che gli alberi in questo e nel prossimo esercizio sono molto grandi, così grandi da non essere più leggibili. Non preoccuparti per ora: nel prossimo video ti mostreremo come renderli più gestibili!
Questo esercizio fa parte del corso
Credit Risk Modeling in R
Istruzioni dell'esercizio
- Il pacchetto rpart è già installato. Carica il pacchetto nel tuo workspace.
- Modifica il codice fornito in modo che l'albero di decisione venga costruito usando il training set sottocampionato al posto di
training_set. Inoltre, aggiungi l'argomentocontrol = rpart.control(cp = 0.001).cp, ovvero il complexity parameter, è il valore soglia per la diminuzione complessiva della mancanza di adattamento in seguito a uno split. Secpnon viene soddisfatto, non si procederà con ulteriori split. Il valore predefinito dicpè 0,01, ma per problemi complessi è consigliabile allentarecp. - Rappresenta graficamente l'albero di decisione usando la funzione plot e il nome dell'oggetto albero. Aggiungi un secondo argomento
uniform = TRUEper ottenere rami di dimensioni uguali. - Il comando precedente disegna semplicemente un albero con alcuni nodi e archi, ma senza testo (le cosiddette "etichette"). Usa la funzione
text()con unico argomentotree_undersampleper aggiungere le etichette.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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