IniziaInizia gratis

Potatura dell'albero con probabilità a priori modificate

Nel video hai visto che potare un albero è necessario per evitare l'overfitting. Negli esercizi precedenti c'erano alberi molto grandi e ora metterai in pratica quanto hai imparato, potando l'albero costruito in precedenza con le probabilità a priori modificate. Il pacchetto rpart è già caricato nel tuo workspace.

Per prima cosa imposterai un seed per assicurarti che i risultati siano riproducibili, come menzionato nel video, perché esaminerai i risultati dell'errore con convalida incrociata. I risultati coinvolgono casualità e potrebbero variare leggermente se esegui di nuovo la funzione con un seed diverso.

In questo esercizio imparerai a identificare quale parametro di complessità (CP) minimizza l'errore convalidato incrociato e poi poterai il tuo albero in base a questo valore.

Questo esercizio fa parte del corso

Credit Risk Modeling in R

Visualizza il corso

Istruzioni dell'esercizio

  • tree_prior è caricato nel tuo workspace.
  • Usa plotcp() per visualizzare l'errore con convalida incrociata (X-val Relative Error) in relazione al parametro di complessità per tree_prior.
  • Usa printcp() per stampare una tabella con informazioni su CP, split ed errori. Prova a identificare quale split ha l'errore convalidato incrociato minimo in tree_prior.
  • Usa which.min() per individuare quale riga in tree_prior$cptable ha l'errore convalidato incrociato minimo "xerror". Assegna il risultato a index.
  • Crea tree_min selezionando l'indice di tree_prior$cptable nella colonna "CP".
  • Usa la funzione prune() per ottenere l'albero potato. Chiama l'albero potato ptree_prior.
  • Il pacchetto rpart.plot è caricato nel tuo workspace. Traccia l'albero potato usando la funzione prp() (impostazioni predefinite).

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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
Modifica ed esegui il codice