Oříznutí stromu se změněnými apriorními pravděpodobnostmi
Ve videu sis ukázal/a, že oříznutí stromu je nezbytné, abychom se vyhnuli přetrénování. V předchozích cvičeních vznikly poměrně rozsáhlé stromy – teď přijde čas nabyté znalosti využít v praxi a oříznout strom sestavený se změněnými apriorními pravděpodobnostmi. Balíček rpart je v tvém pracovním prostředí už načten.
Nejdřív nastavíš seed, aby byly výsledky reprodukovatelné – jak bylo zmíněno ve videu –, protože budeš pracovat s výsledky křížové validace. Ty zahrnují prvek náhodnosti, takže se mohou při opětovném spuštění funkce s jiným seedem mírně lišit.
V tomto cvičení se naučíš určit, který parametr složitosti (CP) minimalizuje chybu křížové validace, a podle této hodnoty strom oříznout.
Toto cvičení je součástí kurzu
Modelování kreditního rizika v R
Pokyny k cvičení
tree_priorje načten v tvém pracovním prostředí.- Pomocí
plotcp()vizualizuj chybu křížové validace (X-val Relative Error) v závislosti na parametru složitosti protree_prior. - Pomocí
printcp()vypiš tabulku s informacemi o CP, větvích a chybách. Zkus v ní identifikovat, které větvení odpovídá minimální chybě křížové validace vtree_prior. - Pomocí
which.min()zjisti, který řádek tabulkytree_prior$cptablemá minimální chybu křížové validace"xerror". Výsledek ulož do proměnnéindex. - Vytvoř proměnnou
tree_mintak, že z tabulkytree_prior$cptablevybereš hodnotu na daném indexu ve sloupci"CP". - Pomocí funkce
prune()získej oříznutý strom. Pojmenuj hoptree_prior. - Balíček
rpart.plotje v tvém pracovním prostředí načten. Vizualizuj oříznutý strom pomocí funkce prp() (výchozí nastavení).
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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