Beräkna och beskriva prediktioner

Generaliserade linjära modeller i Python

Ita Cirovic Donev

Data Science Consultant

Beräkna prediktioner

Efter att modellen anpassats

  1. Anpassade värden för ursprungliga $x$-värden

Diagram över modellanpassningsprocessen.

Generaliserade linjära modeller i Python

Beräkna prediktioner

Efter att modellen anpassats

  1. Anpassade värden för ursprungliga $x$-värden

  2. Nya $x$-värden för predikterade värden

Diagram över modellanpassning och beräkning av prediktioner.

Generaliserade linjära modeller i Python

Beräkna prediktioner

  • Hästskrabbemodell y ~ weight $$ \mu = \frac{\exp(-3.6947+1.8151 \times weight)}{1+\exp(-3.6947+1.8151 \times weight)} $$

  • Ny mätning: 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 $$

Generaliserade linjära modeller i Python

Prediktioner i Python

  • Beräkna modellprediktioner för datamängden new_data
    # Compute model predictions
    model_GLM.predict(exog = new_data)
    
Generaliserade linjära modeller i Python

Från sannolikheter till klasser

Uppdelning av modellens utdata givet ett definierat sannolikhetsgränsvärde.

Generaliserade linjära modeller i Python

Beräkna klassprediktioner

# 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)
Generaliserade linjära modeller i Python

Beräkna klassprediktioner

# Count occurences for each class
crab['pred_class'].value_counts()
1    151
0     22
Gränsvärde $\hat y=1$ $\hat y=0$
$\mu = 0.4$ 151 22
$\mu = 0.5$ 126 47
Generaliserade linjära modeller i Python

Konfusionsmatris

Tom konfusionsmatris.

Generaliserade linjära modeller i Python

Konfusionsmatris – sanna negativa

Presentation av sanna negativa i konfusionsmatrisen.

Generaliserade linjära modeller i Python

Konfusionsmatris – sanna positiva

Presentation av sanna negativa och sanna positiva i konfusionsmatrisen.

Generaliserade linjära modeller i Python

Konfusionsmatris – falska positiva

Presentation av sanna negativa, sanna positiva och falska positiva i konfusionsmatrisen.

Generaliserade linjära modeller i Python

Konfusionsmatris – falska negativa

Presentation av sanna negativa, sanna positiva, falska positiva och falska negativa i konfusionsmatrisen.

Generaliserade linjära modeller i Python

Konfusionsmatris i Python

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
Generaliserade linjära modeller i Python

Nu kör vi en övning!

Generaliserade linjära modeller i Python

Preparing Video For Download...