Obliczanie i opisywanie prognoz

Uogólnione modele liniowe w Pythonie

Ita Cirovic Donev

Data Science Consultant

Obliczanie prognoz

Po dopasowaniu modelu

  1. Dopasowane wartości dla oryginalnych wartości $x$

Diagram procesu dopasowywania modelu.

Uogólnione modele liniowe w Pythonie

Obliczanie prognoz

Po dopasowaniu modelu

  1. Dopasowane wartości dla oryginalnych wartości $x$

  2. Nowe wartości $x$ dla prognozowanych wartości

Diagram procesu dopasowywania modelu i obliczania prognoz.

Uogólnione modele liniowe w Pythonie

Obliczanie prognoz

  • Model krabów podkowiastych y ~ weight $$ \mu = \frac{\exp(-3.6947+1.8151 \times weight)}{1+\exp(-3.6947+1.8151 \times weight)} $$

  • Nowy pomiar: weight = 2.85

$$ \mu = \frac{\exp(-3.6947+1.8151 \times \color{blue}{2.85})}{1+\exp(-3.6947+1.8151 \times \color{blue}{2.85})} = 0.814 $$

Uogólnione modele liniowe w Pythonie

Prognozy w Pythonie

  • Obliczanie prognoz modelu dla zbioru new_data
    # Compute model predictions
    model_GLM.predict(exog = new_data)
    
Uogólnione modele liniowe w Pythonie

Od prawdopodobieństw do klas

Separacja wyników modelu przy zadanej wartości progowej prawdopodobieństwa.

Uogólnione modele liniowe w Pythonie

Obliczanie prognoz klas

# Extract fitted probabilities from model
crab['fitted'] = model.fittedvalues.values
# Define cut-off value
cut_off = 0.4
# Compute class predictions
crab['pred_class'] = np.where(crab['fitted'] > cut_off, 1, 0)
Uogólnione modele liniowe w Pythonie

Obliczanie prognoz klas

# Count occurences for each class
crab['pred_class'].value_counts()
1    151
0     22
Cut-off $\hat y=1$ $\hat y=0$
$\mu = 0.4$ 151 22
$\mu = 0.5$ 126 47
Uogólnione modele liniowe w Pythonie

Macierz pomyłek

Pusta macierz pomyłek.

Uogólnione modele liniowe w Pythonie

Macierz pomyłek – prawdziwe negatywy

Prawdziwe negatywy w macierzy pomyłek.

Uogólnione modele liniowe w Pythonie

Macierz pomyłek – prawdziwe pozytywy

Prawdziwe negatywy i prawdziwe pozytywy w macierzy pomyłek.

Uogólnione modele liniowe w Pythonie

Macierz pomyłek – fałszywe pozytywy

Prawdziwe negatywy, prawdziwe pozytywy i fałszywe pozytywy w macierzy pomyłek.

Uogólnione modele liniowe w Pythonie

Macierz pomyłek – fałszywe negatywy

Prawdziwe negatywy, prawdziwe pozytywy, fałszywe pozytywy i fałszywe negatywy w macierzy pomyłek.

Uogólnione modele liniowe w Pythonie

Macierz pomyłek w Pythonie

print(pd.crosstab(y_actual, y_predicted, 
            rownames=['Actual'], colnames=['Predicted'], 
            margins = True))
Predicted   0    1  All
Actual                 
0          15   47   62
1           7  104  111
All        22  151  173
Uogólnione modele liniowe w Pythonie

Czas na ćwiczenia!

Uogólnione modele liniowe w Pythonie

Preparing Video For Download...