Побудова Лінійної Регресії за Допомогою 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()
Конструктор класу OLS очікує на вхід певний масив X_tilde, який ми розглядали у нормальному рівнянні. Тому потрібно перетворити масив X у X_tilde. Це можна зробити за допомогою функції sm.add_constant().
Знаходження параметрів
Після навчання моделі параметри можна легко отримати за допомогою атрибута params.
123456789import 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)
Створення прогнозів
Нові значення можна легко передбачити за допомогою методу predict(), але для цього також потрібно попередньо обробити вхідні дані:
12345import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
Отримання зведеної інформації
Як ви, ймовірно, помітили, використання класу OLS не таке просте, як функції polyfit(). Проте використання OLS має свої переваги. Під час навчання він обчислює багато статистичної інформації. Доступ до цієї інформації можна отримати за допомогою методу summary().
1print(model.summary())
Це велика кількість статистичних даних. Найважливіші частини цієї таблиці будуть розглянуті в наступних розділах.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
Побудова Лінійної Регресії за Допомогою 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()
Конструктор класу OLS очікує на вхід певний масив X_tilde, який ми розглядали у нормальному рівнянні. Тому потрібно перетворити масив X у X_tilde. Це можна зробити за допомогою функції sm.add_constant().
Знаходження параметрів
Після навчання моделі параметри можна легко отримати за допомогою атрибута params.
123456789import 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)
Створення прогнозів
Нові значення можна легко передбачити за допомогою методу predict(), але для цього також потрібно попередньо обробити вхідні дані:
12345import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
Отримання зведеної інформації
Як ви, ймовірно, помітили, використання класу OLS не таке просте, як функції polyfit(). Проте використання OLS має свої переваги. Під час навчання він обчислює багато статистичної інформації. Доступ до цієї інформації можна отримати за допомогою методу summary().
1print(model.summary())
Це велика кількість статистичних даних. Найважливіші частини цієї таблиці будуть розглянуті в наступних розділах.
Дякуємо за ваш відгук!