Zacznij terazZacznij za darmo

Porównanie wartości prognozowanych

W poprzednim ćwiczeniu dopasowano dwa modele regresji – liniowy oraz GLM (logistyczny) – na danych crab, prognozując y na podstawie width. Innymi słowy, celem było przewidzenie prawdopodobieństwa, że w pobliżu samicy krabika podkowy znajduje się satelitarny samiec, w zależności od jej szerokości.

W tym ćwiczeniu przyjrzysz się bliżej szacowanym prawdopodobieństwom (wynikom) obu modeli i sprawdzisz, czy dopasowanie liniowe jest odpowiednie dla tego problemu.

Standardową praktyką jest testowanie modelu na nowych, niewidzianych wcześniej danych. Taki zbiór danych nazywamy próbką testową. Próbka test została już przygotowana i wczytana do środowiska pracy. Pamiętaj, że potrzebujesz wartości testowych dla wszystkich zmiennych obecnych w modelu – w tym przypadku jest to width.

Zbiór danych crab jest wstępnie wczytany do środowiska pracy.

To ćwiczenie jest częścią kursu

Uogólnione modele liniowe w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Za pomocą print() wyświetl zbiór test.
  • Korzystając z próbki test, oblicz szacowane prawdopodobieństwa metodą .predict() na dopasowanym modelu liniowym model_LM i zapisz wynik jako pred_lm. Następnie oblicz szacowane prawdopodobieństwa metodą .predict() na dopasowanym modelu GLM (logistycznym) model_GLM i zapisz wynik jako pred_glm.
  • Za pomocą DataFrame() z biblioteki pandas połącz prognozy obu modeli i zapisz jako predictions.
  • Połącz test i predictions, zapisując wynik jako all_data. Wyświetl all_data za pomocą print().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# View test set
print(____)

# Compute estimated probabilities for linear model: pred_lm
____ = model_LM.____(____)

# Compute estimated probabilities for GLM model: pred_glm
____ = model_GLM.____(____)

# Create dataframe of predictions for linear and GLM model: predictions
____ = pd.DataFrame({'Pred_LM': ____, 'Pred_GLM': ____})

# Concatenate test sample and predictions and view the results
all_data = pd.concat([____, ____], axis = 1)
print(____)
Edytuj i uruchom kod