ÎncepețiÎncepe gratuit

Un arbore final cu mai multe opțiuni

În acest exercițiu vei folosi câteva argumente finale discutate în video. Vei modifica unele specificații din funcția rpart.control() și vei include ponderi prin argumentul weights din rpart(). Vectorul case_weights a fost construit pentru tine și este deja încărcat în spațiul de lucru. Acesta conține ponderi de 1 pentru cazurile fără implicit din setul de antrenament și ponderi de 3 pentru cazurile cu implicit. Prin atribuirea unor ponderi mai mari cazurilor cu implicit, modelul va acorda o importanță mai mare clasificării corecte a acestora.

Acest exercițiu face parte din cursul

Modelarea riscului de credit în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Setează un seed de 345.
  • Completează codul furnizat transmițând case_weights argumentului weights din rpart().
  • Modifică numărul minim de împărțiri permise într-un nod la 5 și numărul minim de observații permise în nodurile frunză la 2, folosind argumentele minsplit și, respectiv, minbucket în rpart.control.
  • Folosește funcția plotcp() pentru a identifica unde poate fi minimizată rata erorii validate încrucișat.
  • Folosește which.min() pentru a identifica rândul cu valoarea minimă a "xerror" în tree_weights$cp. Atribuie rezultatul variabilei index.
  • Folosește codul furnizat pentru a selecta valoarea cp la care eroarea validată încrucișat este minimă.
  • Prunează arborele folosind parametrul de complexitate corespunzător erorii validate încrucișat minime. Stochează arborele prunat în ptree_weights.
  • Vizualizează arborele prunat folosind funcția prp(). Include un al doilea argument, extra, și setează-l la valoarea 1.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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
Editează și rulează codul