Modelli lineari generalizzati in Python
Ita Cirovic Donev
Data Science Consultant
Dopo aver stimato il modello

Dopo aver stimato il modello
Valori adattati per gli $x$ originali
Valori nuovi di $x$ per i valori previsti

Modello granchio ferro di cavallo y ~ weight
$$
\mu = \frac{\exp(-3.6947+1.8151 \times weight)}{1+\exp(-3.6947+1.8151 \times weight)}
$$
Nuova misura: 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 $$
new_data# Compute model predictions
model_GLM.predict(exog = new_data)

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





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
Modelli lineari generalizzati in Python