Pythonで学ぶ一般化線形モデル
Ita Cirovic Donev
Data Science Consultant
モデル当てはめ後に得られるもの

モデル当てはめ後に得られるもの
元の $x$ に対する当てはめ値
新しい $x$ に対する予測値

カブトガニのモデル y ~ weight
$$
\mu = \frac{\exp(-3.6947+1.8151 \times weight)}{1+\exp(-3.6947+1.8151 \times weight)}
$$
新しい測定: 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
Pythonで学ぶ一般化線形モデル