Kom igångKom igång gratis

Ett sista träd med fler alternativ

I den här övningen använder du några avslutande argument som togs upp i videon. Vissa inställningar i funktionen rpart.control() kommer att ändras, och vikter läggs till via argumentet weights i rpart(). Vektorn case_weights har skapats åt dig och finns inläst i din arbetsyta. Den innehåller vikten 1 för icke-defaults i träningsdatan och vikten 3 för defaults. Genom att tilldela defaults högre vikt lär sig modellen att prioritera korrekt klassificering av defaults.

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

Kreditriskmodellering i R

Visa kurs

Övningsinstruktioner

  • Sätt ett frö (seed) på 345.
  • Komplettera den befintliga koden genom att skicka case_weights till argumentet weights i rpart().
  • Ändra det minsta tillåtna antalet uppdelningar i en nod till 5, och det minsta tillåtna antalet observationer i lövnoder till 2 genom att använda argumenten minsplit respektive minbucket i rpart.control.
  • Använd funktionen plotcp() för att undersöka var det korsvaliderade felvärdet kan minimeras.
  • Använd which.min() för att identifiera raden med det lägsta "xerror" i tree_weights$cp. Tilldela resultatet till index.
  • Använd den befintliga koden för att välja det cp-värde där det korsvaliderade felet är som lägst.
  • Beskär trädet med det komplexitetsparametervärde där det korsvaliderade felet minimeras. Spara det beskurna trädet i ptree_weights.
  • Visualisera det beskurna trädet med funktionen prp(). Lägg till ett andra argument, extra, och sätt det till 1.

Interaktiv övning med praktiskt arbete

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

# set a seed and run the code to obtain a tree using weights, minsplit and minbucket
set.seed(345)
tree_weights <- rpart(loan_status ~ ., method = "class",
                      data = training_set,
                      control = rpart.control(minsplit = ___, minbucket = ___, cp = 0.001))

# Plot the cross-validated error rate for a changing cp


# Create an index for of the row with the minimum xerror
index <- which.min(___$___[ , "xerror"])

# Create tree_min
tree_min <- tree_weights$cp[index, "CP"]

# Prune the tree using tree_min


# Plot the pruned tree using the rpart.plot()-package
Redigera och kör kod