Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Побудова Множинної Лінійної Регресії | Секція
Основи Контрольованого Навчання

bookПобудова Множинної Лінійної Регресії

Клас LinearRegression дозволяє будувати множинну лінійну регресію так само, як і просту лінійну регресію. Він автоматично обробляє декілька ознак (стовпців) у вхідній матриці.

Підготовка даних

Маємо той самий набір даних, що й у прикладі з простою лінійною регресією, але тепер він містить зріст матері як другу ознаку. Завантажимо його та переглянемо змінну X:

12345678
import pandas as pd file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file # Assign the variables X = df[['Father', 'Mother']] y = df['Height'] print(X.head())
copy

За замовчуванням параметр fit_intercept=True встановлено, тому модель автоматично обчислює зміщення (bias term)! Ми можемо передати DataFrame X (який вже є двовимірним) безпосередньо до моделі.

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

Чудово! Тепер ми можемо побудувати модель, знайти параметри та зробити передбачення.

12345678910111213141516171819202122
from sklearn.linear_model import LinearRegression import numpy as np # Initialize the model model = LinearRegression() # Train the model (No need to add constant!) model.fit(X, y) # Get the parameters beta_0 = model.intercept_ beta_1 = model.coef_[0] # Coefficient for 'Father' beta_2 = model.coef_[1] # Coefficient for 'Mother' print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values # Feature values of new instances: [[Father, Mother], [Father, Mother], ...] X_new = np.array([[65, 62], [70, 65], [75, 70]]) y_pred = model.predict(X_new) # Predict the target print('Predictions:', y_pred)
copy
Note
Примітка

Оскільки наш навчальний набір має 2 ознаки, необхідно вказувати 2 ознаки для кожного нового екземпляра, який потрібно передбачити. Саме тому використовується np.array([[65, 62],[70, 65],[75, 70]]). Також зверніть увагу, що model.coef_ повертає масив коефіцієнтів відповідно до порядку стовпців у X. Оскільки X був ['Father', 'Mother'], coef_[0] — це коефіцієнт для Father, а coef_[1] — для Mother.

question mark

Чи потрібно вручну додавати стовпець константи для класу LinearRegression?

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

bookПобудова Множинної Лінійної Регресії

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

Клас LinearRegression дозволяє будувати множинну лінійну регресію так само, як і просту лінійну регресію. Він автоматично обробляє декілька ознак (стовпців) у вхідній матриці.

Підготовка даних

Маємо той самий набір даних, що й у прикладі з простою лінійною регресією, але тепер він містить зріст матері як другу ознаку. Завантажимо його та переглянемо змінну X:

12345678
import pandas as pd file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file # Assign the variables X = df[['Father', 'Mother']] y = df['Height'] print(X.head())
copy

За замовчуванням параметр fit_intercept=True встановлено, тому модель автоматично обчислює зміщення (bias term)! Ми можемо передати DataFrame X (який вже є двовимірним) безпосередньо до моделі.

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

Чудово! Тепер ми можемо побудувати модель, знайти параметри та зробити передбачення.

12345678910111213141516171819202122
from sklearn.linear_model import LinearRegression import numpy as np # Initialize the model model = LinearRegression() # Train the model (No need to add constant!) model.fit(X, y) # Get the parameters beta_0 = model.intercept_ beta_1 = model.coef_[0] # Coefficient for 'Father' beta_2 = model.coef_[1] # Coefficient for 'Mother' print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values # Feature values of new instances: [[Father, Mother], [Father, Mother], ...] X_new = np.array([[65, 62], [70, 65], [75, 70]]) y_pred = model.predict(X_new) # Predict the target print('Predictions:', y_pred)
copy
Note
Примітка

Оскільки наш навчальний набір має 2 ознаки, необхідно вказувати 2 ознаки для кожного нового екземпляра, який потрібно передбачити. Саме тому використовується np.array([[65, 62],[70, 65],[75, 70]]). Також зверніть увагу, що model.coef_ повертає масив коефіцієнтів відповідно до порядку стовпців у X. Оскільки X був ['Father', 'Mother'], coef_[0] — це коефіцієнт для Father, а coef_[1] — для Mother.

question mark

Чи потрібно вручну додавати стовпець константи для класу LinearRegression?

Select the correct answer

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

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

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

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