Kom igångKom igång gratis

Undersampling av träningsdata

I videon såg du att man kan använda under- eller översampling för att hantera problemet med obalanserade data. Träningsdatan har redan undersampleats åt dig så att 1/3 av träningsdatan består av defaults och 2/3 av non-defaults. Den resulterande datamängden finns tillgänglig i din arbetsmiljö under namnet undersampled_training_set och innehåller färre observationer (6 570 i stället för 19 394). I den här övningen ska du bygga ett beslutsträd med hjälp av den undersamplade datamängden.

Du kommer att märka att träden i den här och nästa övning är mycket stora – så stora att de är svåra att läsa. Det behöver du inte oroa dig för nu. I nästa video visar vi dig hur du kan göra dem mer hanterbara!

Den här övningen är en del av kursen

Kreditriskmodellering i R

Visa kurs

Övningsinstruktioner

  • Paketet rpart är redan installerat. Läs in paketet i din arbetsmiljö.
  • Ändra den befintliga koden så att beslutsträdet byggs med den undersamplade träningsdatan i stället för training_set. Lägg också till argumentet control = rpart.control(cp = 0.001). cp – komplexitetsparametern – är tröskelvädet för hur mycket den totala bristande anpassningen måste minska vid en uppdelning. Om cp-kravet inte uppfylls görs inga fler uppdelningar. Standardvärdet för cp är 0,01, men för komplexa problem rekommenderas ett lägre värde.
  • Rita beslutsträdet med funktionen plot och trädets objektnamn. Lägg till argumentet uniform = TRUE som andra argument för att få lika långa grenar.
  • Det föregående kommandot skapar ett träd med noder och kanter, men utan text (så kallade "etiketter"). Använd funktionen text() med tree_undersample som enda argument för att lägga till etiketter.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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
Redigera och kör kod