Začněte nyníZačněte zdarma

Finální strom s rozšířenými možnostmi

V tomto cvičení použiješ několik dalších argumentů, o kterých jsme mluvili ve videu. Upravíme některá nastavení funkce rpart.control() a přidáme váhy pomocí argumentu weights ve funkci rpart(). Vektor case_weights je už připravený a načtený v tvém pracovním prostředí. Obsahuje váhu 1 pro záznamy bez defaultu v trénovací sadě a váhu 3 pro záznamy s defaultem. Díky vyšším vahám pro default model přikládá větší důležitost správné klasifikaci defaultů.

Toto cvičení je součástí kurzu

Modelování kreditního rizika v R

Zobrazit kurz

Pokyny k cvičení

  • Nastav seed na hodnotu 345.
  • Doplň připravený kód tak, aby se case_weights předalo argumentu weights ve funkci rpart().
  • Nastav minimální počet pozorování potřebných k rozdělení uzlu na 5 a minimální počet pozorování v listových uzlech na 2 – použij argumenty minsplit a minbucket ve funkci rpart.control.
  • Pomocí funkce plotcp() zjisti, při jaké hodnotě lze minimalizovat chybu odhadnutou křížovou validací.
  • Pomocí which.min() najdi řádek s nejmenší hodnotou "xerror" v tree_weights$cp. Výsledek ulož do proměnné index.
  • Pomocí připraveného kódu vyber hodnotu cp, při které je chyba z křížové validace nejnižší.
  • Ořež strom s použitím parametru složitosti odpovídajícího minimální chybě z křížové validace. Ořezaný strom ulož do ptree_weights.
  • Vizualizuj ořezaný strom pomocí funkce prp(). Přidej druhý argument extra a nastav ho na hodnotu 1.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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
Upravit a spustit kód