Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Побудова Лінійної Регресії за Допомогою Statsmodels | Проста Лінійна Регресія
Quizzes & Challenges
Quizzes
Challenges
/
Лінійна регресія з Python

bookПобудова Лінійної Регресії за Допомогою Statsmodels

Побудова моделі лінійної регресії

У statsmodels для створення моделі лінійної регресії використовується клас OLS.

Спочатку необхідно ініціалізувати об'єкт класу OLS за допомогою sm.OLS(y, X_tilde). Далі модель навчається методом fit().

model = sm.OLS(y, X_tilde)
model = model.fit()

Що еквівалентно:

model = sm.OLS(y, X_tilde).fit()
Note
Примітка

Конструктор класу OLS очікує на вхід певний масив X_tilde, який ми розглядали у нормальному рівнянні. Тому потрібно перетворити масив X у X_tilde. Це можна зробити за допомогою функції sm.add_constant().

Знаходження параметрів

Після навчання моделі параметри можна легко отримати за допомогою атрибута params.

123456789
import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)
copy

Створення прогнозів

Нові значення можна легко передбачити за допомогою методу predict(), але для цього також потрібно попередньо обробити вхідні дані:

12345
import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
copy

Отримання зведеної інформації

Як ви, ймовірно, помітили, використання класу OLS не таке просте, як функції polyfit(). Проте використання OLS має свої переваги. Під час навчання він обчислює багато статистичної інформації. Доступ до цієї інформації можна отримати за допомогою методу summary().

1
print(model.summary())
copy

Це велика кількість статистичних даних. Найважливіші частини цієї таблиці будуть розглянуті в наступних розділах.

question mark

Оберіть НЕПРАВИЛЬНЕ твердження.

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 4

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain what the `add_constant` function does?

What do the values of `beta_0` and `beta_1` represent in this context?

How do I interpret the output of the `summary()` method?

Awesome!

Completion rate improved to 5.26

bookПобудова Лінійної Регресії за Допомогою Statsmodels

Свайпніть щоб показати меню

Побудова моделі лінійної регресії

У statsmodels для створення моделі лінійної регресії використовується клас OLS.

Спочатку необхідно ініціалізувати об'єкт класу OLS за допомогою sm.OLS(y, X_tilde). Далі модель навчається методом fit().

model = sm.OLS(y, X_tilde)
model = model.fit()

Що еквівалентно:

model = sm.OLS(y, X_tilde).fit()
Note
Примітка

Конструктор класу OLS очікує на вхід певний масив X_tilde, який ми розглядали у нормальному рівнянні. Тому потрібно перетворити масив X у X_tilde. Це можна зробити за допомогою функції sm.add_constant().

Знаходження параметрів

Після навчання моделі параметри можна легко отримати за допомогою атрибута params.

123456789
import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)
copy

Створення прогнозів

Нові значення можна легко передбачити за допомогою методу predict(), але для цього також потрібно попередньо обробити вхідні дані:

12345
import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
copy

Отримання зведеної інформації

Як ви, ймовірно, помітили, використання класу OLS не таке просте, як функції polyfit(). Проте використання OLS має свої переваги. Під час навчання він обчислює багато статистичної інформації. Доступ до цієї інформації можна отримати за допомогою методу summary().

1
print(model.summary())
copy

Це велика кількість статистичних даних. Найважливіші частини цієї таблиці будуть розглянуті в наступних розділах.

question mark

Оберіть НЕПРАВИЛЬНЕ твердження.

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 4
some-alt