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
Ö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örtree_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 itree_prior. - Använd
which.min()för att identifiera vilken rad itree_prior$cptablesom har det lägsta korsvaliderade felet"xerror". Tilldela detta tillindex. - Skapa
tree_mingenom att välja indexet itree_prior$cptableinom kolumnen"CP". - Använd funktionen
prune()för att erhålla det beskurna trädet. Kalla det beskurna trädet förptree_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