予測の計算と記述

Pythonで学ぶ一般化線形モデル

Ita Cirovic Donev

Data Science Consultant

予測の計算

モデル当てはめ後に得られるもの

  1. 元の $x$ に対する当てはめ値

モデル当てはめのプロセス図。

Pythonで学ぶ一般化線形モデル

予測の計算

モデル当てはめ後に得られるもの

  1. 元の $x$ に対する当てはめ値

  2. 新しい $x$ に対する予測値

モデル当てはめと予測計算のプロセス図。

Pythonで学ぶ一般化線形モデル

予測の計算

  • カブトガニのモデル 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 $$

Pythonで学ぶ一般化線形モデル

Pythonでの予測

  • データセット new_data に対してモデル予測を計算
    # Compute model predictions
    model_GLM.predict(exog = new_data)
    
Pythonで学ぶ一般化線形モデル

確率からクラスへ

定義した確率カットオフによるモデル出力の分離。

Pythonで学ぶ一般化線形モデル

クラス予測の計算

# 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)
Pythonで学ぶ一般化線形モデル

クラス予測の計算

# 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
Pythonで学ぶ一般化線形モデル

混同行列

空の混同行列。

Pythonで学ぶ一般化線形モデル

混同行列 - 真陰性

混同行列における真陰性の表示。

Pythonで学ぶ一般化線形モデル

混同行列 - 真陽性

混同行列における真陰性と真陽性の表示。

Pythonで学ぶ一般化線形モデル

混同行列 - 偽陽性

混同行列における真陰性・真陽性・偽陽性の表示。

Pythonで学ぶ一般化線形モデル

混同行列 - 偽陰性

混同行列における真陰性・真陽性・偽陽性・偽陰性の表示。

Pythonで学ぶ一般化線形モデル

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
Pythonで学ぶ一般化線形モデル

練習してみましょう!

Pythonで学ぶ一般化線形モデル

Preparing Video For Download...