1. Nauka
  2. /
  3. Kursy
  4. /
  5. Uczenie maszynowe z caret w R

Connected

ćwiczenie

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")

Instrukcje

100 XP
  • Dopasuj model regresji logistycznej o nazwie model, który będzie przewidywał zmienną Class na podstawie wszystkich pozostałych zmiennych jako predyktorów. Użyj zbioru treningowego dla Sonar.
  • Dokonaj predykcji na zbiorze test za pomocą tego modelu. Zapisz wynik jako p, tak jak robiłeś to wcześniej.