IniziaInizia gratis

Applica l'imputazione con la mediana

In questo capitolo userai una versione del dataset Wisconsin Breast Cancer. Questo dataset propone un classico problema di classificazione binaria: il 50% dei campioni è benigno, il 50% è maligno, e la sfida è riconoscerli correttamente.

Questo dataset è interessante perché molti predittori contengono valori mancanti e la maggior parte delle righe ha almeno un valore mancante. Questo è un ostacolo per il modeling, perché la maggior parte degli algoritmi di Machine Learning non gestisce i valori mancanti in modo nativo. Per esempio, potresti voler adattare subito un modello di regressione logistica, ma prima devi definire una strategia per gestire gli NA.

Per fortuna, la funzione train() di caret include un argomento chiamato preProcess, che ti permette di specificare l'imputazione con la mediana per riempire i valori mancanti. Nei capitoli precedenti hai creato modelli con train() usando formule come y ~ .. Un modo alternativo è specificare gli argomenti x e y in train(), dove x è un oggetto con i campioni in riga e le feature in colonna e y è un vettore numerico o fattoriale con gli esiti. In altre parole, x è una matrice o un data frame che contiene l’intero insieme di dati che useresti per l’argomento data in una chiamata a lm(), per esempio, ma esclude la colonna della variabile risposta; y è un vettore che contiene solo la variabile risposta.

Per questo esercizio, l’argomento x di train() è già caricato nel tuo workspace come breast_cancer_x e y come breast_cancer_y.

Questo esercizio fa parte del corso

Machine Learning con caret in R

Visualizza il corso

Istruzioni dell'esercizio

  • Usa la funzione train() per adattare un modello glm chiamato median_model al dataset sul tumore al seno. Usa preProcess = "medianImpute" per gestire i valori mancanti.
  • Stampa median_model sulla console.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Apply median imputation: median_model
median_model <- train(
  x = ___, 
  y = ___,
  method = ___,
  trControl = myControl,
  preProcess = ___
)

# Print median_model to console
Modifica ed esegui il codice