Построение регрессионной модели

Обобщённые линейные модели в Python

Ita Cirovic Donev

Data Science Consultant

Импорт библиотек

import seaborn as sns
import matplotlib.pyplot as plt
  • Модель для крабов 'sat ~ width' сохранена в переменной model
Обобщённые линейные модели в Python

Построение точек данных

# Adjust figure size
plt.subplots(figsize = (8, 5))
# Plot data points
sns.regplot('width', 'sat', 
            data = crab,
            fit_reg = False)

Диаграмма рассеяния ширины и количества спутников из набора данных о крабах.

Обобщённые линейные модели в Python

Добавление джиттера

sns.regplot('width', 'sat', 
            data = crab,
            fit_reg = False,
            y_jitter = 0.3)

Диаграмма рассеяния с добавленным джиттером для ширины и количества спутников из набора данных о крабах.

Обобщённые линейные модели в Python

Добавление линейной аппроксимации

sns.regplot('width', 'sat', 
            data = crab,
            y_jitter = 0.3,
            fit_reg = True,
            line_kws = {'color':'green', 
                        'label':'LM fit'})

Линейная аппроксимация с доверительными интервалами и диаграмма рассеяния ширины и количества спутников из набора данных о крабах.

Обобщённые линейные модели в Python

Добавление оценок пуассоновской ОЛМ

crab['fit_values'] = model.fittedvalues
sns.scatterplot('width','fit_values', 
                data = crab,
                color = 'red', 
                label = 'Poisson')

Линейная и пуассоновская аппроксимации и диаграмма рассеяния ширины и количества спутников из набора данных о крабах.

Обобщённые линейные модели в Python

Предсказания

Подогнанная пуассоновская модель, наложенная на диаграмму рассеяния ширины и количества спутников

Обобщённые линейные модели в Python

Предсказания

new_data = pd.DataFrame({'width':[24, 28, 32]})
model.predict(new_data)
0    1.881981

Считывание предсказанных значений для ширины 24 см по подогнанной пуассоновской регрессионной модели.

Обобщённые линейные модели в Python

Предсказания

new_data = pd.DataFrame({'width':[24, 28, 32]})
model.predict(new_data)
0    1.881981
1    3.627360

Считывание предсказанных значений для ширины 28 см по подогнанной пуассоновской регрессионной модели.

Обобщённые линейные модели в Python

Предсказания

new_data = pd.DataFrame({'width':[24, 28, 32]})
model.predict(new_data)
0    1.881981
1    3.627360
2    6.991433

Считывание предсказанных значений для ширины 32 см по подогнанной пуассоновской регрессионной модели.

Обобщённые линейные модели в Python

Давайте потренируемся!

Обобщённые линейные модели в Python

Preparing Video For Download...