IniziaInizia gratis

Adatta un modello di regressione logistica

Una volta creati gli insiemi di addestramento e di test casuali, puoi adattare un modello di regressione logistica al tuo insieme di addestramento usando la funzione glm(). glm() è una versione più avanzata di lm() che permette di stimare tipi di modelli di regressione più vari, oltre alla classica regressione OLS.

Ricorda di passare l'argomento family = "binomial" a glm() per indicare che vuoi eseguire una regressione logistica (e non lineare). Per esempio:

glm(Target ~ ., family = "binomial", dataset)

Non preoccuparti di avvisi come glm.fit: algorithm did not converge o glm.fit: fitted probabilities numerically 0 or 1 occurred. Sono frequenti su insiemi di dati piccoli e di solito non creano problemi. In genere indicano che il tuo insieme di dati è perfettamente separabile, il che può creare difficoltà per la matematica alla base del modello, ma la funzione glm() di R è quasi sempre abbastanza robusta da gestire questo caso senza problemi.

Dopo aver adattato un modello glm() al tuo insieme di dati, puoi prevedere l'esito (ad es. rock o mine) sull'insieme test usando la funzione predict() con l'argomento type = "response":

predict(my_model, test, type = "response")

Questo esercizio fa parte del corso

Machine Learning con caret in R

Visualizza il corso

Istruzioni dell'esercizio

  • Adatta una regressione logistica chiamata model per prevedere Class usando tutte le altre variabili come predittori. Usa l'insieme di addestramento di Sonar.
  • Esegui le previsioni sull'insieme test usando quel modello. Chiama il risultato p, come hai fatto in precedenza.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Fit glm model: model


# Predict on test: p
Modifica ed esegui il codice