Kom igångKom igång gratis

Beskärning av trädet med ändrade förhandssannolikheter

I videon lärde du dig att beskärning av ett träd är nödvändigt för att undvika överanpassning. I de tidigare övningarna byggde du ganska stora träd, och nu är det dags att omsätta det du lärt dig i praktiken – du ska beskära det tidigare konstruerade trädet med ändrade förhandssannolikheter. Paketet rpart är redan inläst i din arbetsmiljö.

Du börjar med att sätta ett seed för att säkerställa att resultaten är reproducerbara, precis som nämndes i videon, eftersom du kommer att granska korsvaliderade felresultat. Resultaten innehåller ett slumpmässigt inslag och kan skilja sig något om du kör funktionen igen med ett annat seed.

I den här övningen lär du dig att identifiera vilket komplexitetsparametervärde (CP) som minimerar det korsvaliderade felet, och sedan beskära ditt träd baserat på detta värde.

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

Kreditriskmodellering i R

Visa kurs

Övningsinstruktioner

  • tree_prior är inläst i din arbetsmiljö.
  • Använd plotcp() för att visualisera det korsvaliderade felet (X-val Relative Error) i relation till komplexitetsparametern för tree_prior.
  • Använd printcp() för att skriva ut en tabell med information om CP, uppdelningar och fel. Försök identifiera vilken uppdelning som ger det lägsta korsvaliderade felet i tree_prior.
  • Använd which.min() för att identifiera vilken rad i tree_prior$cptable som har det lägsta korsvaliderade felet "xerror". Tilldela detta till index.
  • Skapa tree_min genom att välja indexet i tree_prior$cptable inom kolumnen "CP".
  • Använd funktionen prune() för att erhålla det beskurna trädet. Kalla det beskurna trädet för ptree_prior.
  • Paketet rpart.plot är inläst i din arbetsmiljö. Rita det beskurna trädet med funktionen prp() (standardinställning).

Interaktiv övning med praktiskt arbete

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

# tree_prior is loaded in your workspace

# Plot the cross-validated error rate as a function of the complexity parameter


# Use printcp() to identify for which complexity parameter the cross-validated error rate is minimized.


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

# Create tree_min
tree_min <- tree_prior$cptable[index, "CP"]

#  Prune the tree using tree_min
ptree_prior <- prune(___, cp = ___)

# Use prp() to plot the pruned tree
Redigera och kör kod