Dopasuj model regresji logistycznej
Gdy masz już losowe zbiory treningowy i testowy, możesz dopasować model regresji logistycznej do zbioru treningowego za pomocą funkcji glm(). Funkcja glm() to bardziej rozbudowana wersja lm(), która obsługuje różne rodzaje modeli regresji – nie tylko klasyczną regresję liniową metodą najmniejszych kwadratów.
Pamiętaj, aby przekazać argument family = "binomial" do glm(), co wskazuje, że chcesz wykonać regresję logistyczną (a nie liniową). Na przykład:
glm(Target ~ ., family = "binomial", dataset)
Nie przejmuj się ostrzeżeniami w stylu glm.fit: algorithm did not converge ani glm.fit: fitted probabilities numerically 0 or 1 occurred. Są one częste w przypadku mniejszych zbiorów danych i zazwyczaj nie powodują żadnych problemów. Zazwyczaj oznaczają, że twój zbiór danych jest doskonale separowalny – co może sprawiać trudności od strony matematycznej – ale funkcja glm() w R jest niemal zawsze wystarczająco odporna, aby poradzić sobie z tym przypadkiem bez komplikacji.
Gdy masz już dopasowany model glm(), możesz przewidzieć wyniki (np. skała lub mina) na zbiorze test za pomocą funkcji predict() z argumentem type = "response":
predict(my_model, test, type = "response")
To ćwiczenie jest częścią kursu
Uczenie maszynowe z caret w R
Instrukcje do ćwiczenia
- Dopasuj model regresji logistycznej o nazwie
model, który będzie przewidywał zmiennąClassna podstawie wszystkich pozostałych zmiennych jako predyktorów. Użyj zbioru treningowego dlaSonar. - Dokonaj predykcji na zbiorze
testza pomocą tego modelu. Zapisz wynik jakop, tak jak robiłeś to wcześniej.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Fit glm model: model
# Predict on test: p