Kom igångKom igång gratis

Anpassa en logistisk regressionsmodell

När du väl har dina slumpmässiga tränings- och testmängder kan du anpassa en logistisk regressionsmodell till träningsdatan med funktionen glm(). glm() är en mer avancerad version av lm() och stöder fler typer av regressionsmodeller, inte bara vanlig minsta-kvadratregression.

Kom ihåg att skicka in argumentet family = "binomial" till glm() för att ange att du vill använda logistisk regression (i stället för linjär). Till exempel:

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

Bry dig inte om varningar som glm.fit: algorithm did not converge eller glm.fit: fitted probabilities numerically 0 or 1 occurred. De är vanliga vid mindre datamängder och brukar inte orsaka några problem. De indikerar vanligtvis att datamängden är perfekt separerbar, vilket kan ställa till problem för matematiken bakom modellen – men R:s glm()-funktion är nästan alltid tillräckligt robust för att hantera detta utan svårigheter.

När du har anpassat en glm()-modell till din datamängd kan du förutsäga utfallet (till exempel berg eller mina) på test-mängden med funktionen predict() och argumentet type = "response":

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

Den här övningen är en del av kursen

Maskininlärning med caret i R

Visa kurs

Övningsinstruktioner

  • Anpassa en logistisk regressionsmodell kallad model för att förutsäga Class med alla övriga variabler som prediktorer. Använd träningsdatan för Sonar.
  • Gör förutsägelser på test-mängden med den modellen. Kalla resultatet p, precis som du gjort tidigare.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Fit glm model: model


# Predict on test: p
Redigera och kör kod