Generalized Linear Models in 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)

# 從模型取出擬合機率
crab['fitted'] = model.fittedvalues.values
# 定義門檻值
cut_off = 0.4
# 計算類別預測
crab['pred_class'] = np.where(crab['fitted'] > cut_off, 1, 0)
# 計算各類別出現次數
crab['pred_class'].value_counts()
1 151
0 22
| 門檻 | $\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
Generalized Linear Models in Python