Вычисление и интерпретация прогнозов

Обобщённые линейные модели в 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
Порог $\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...