Побудова Множинної Лінійної Регресії
Клас LinearRegression дозволяє будувати множинну лінійну регресію так само, як і просту лінійну регресію. Він автоматично обробляє декілька ознак (стовпців) у вхідній матриці.
Підготовка даних
Маємо той самий набір даних, що й у прикладі з простою лінійною регресією, але тепер він містить зріст матері як другу ознаку. Завантажимо його та переглянемо змінну X:
12345678import 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())
За замовчуванням параметр fit_intercept=True встановлено, тому модель автоматично обчислює зміщення (bias term)!
Ми можемо передати DataFrame X (який вже є двовимірним) безпосередньо до моделі.
Знаходження параметрів
Чудово! Тепер ми можемо побудувати модель, знайти параметри та зробити передбачення.
12345678910111213141516171819202122from 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)
Оскільки наш навчальний набір має 2 ознаки, необхідно вказувати 2 ознаки для кожного нового екземпляра, який потрібно передбачити. Саме тому використовується np.array([[65, 62],[70, 65],[75, 70]]).
Також зверніть увагу, що model.coef_ повертає масив коефіцієнтів відповідно до порядку стовпців у X. Оскільки X був ['Father', 'Mother'], coef_[0] — це коефіцієнт для Father, а coef_[1] — для Mother.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Чудово!
Completion показник покращився до 3.33
Побудова Множинної Лінійної Регресії
Свайпніть щоб показати меню
Клас LinearRegression дозволяє будувати множинну лінійну регресію так само, як і просту лінійну регресію. Він автоматично обробляє декілька ознак (стовпців) у вхідній матриці.
Підготовка даних
Маємо той самий набір даних, що й у прикладі з простою лінійною регресією, але тепер він містить зріст матері як другу ознаку. Завантажимо його та переглянемо змінну X:
12345678import 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())
За замовчуванням параметр fit_intercept=True встановлено, тому модель автоматично обчислює зміщення (bias term)!
Ми можемо передати DataFrame X (який вже є двовимірним) безпосередньо до моделі.
Знаходження параметрів
Чудово! Тепер ми можемо побудувати модель, знайти параметри та зробити передбачення.
12345678910111213141516171819202122from 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)
Оскільки наш навчальний набір має 2 ознаки, необхідно вказувати 2 ознаки для кожного нового екземпляра, який потрібно передбачити. Саме тому використовується np.array([[65, 62],[70, 65],[75, 70]]).
Також зверніть увагу, що model.coef_ повертає масив коефіцієнтів відповідно до порядку стовпців у X. Оскільки X був ['Father', 'Mother'], coef_[0] — це коефіцієнт для Father, а coef_[1] — для Mother.
Дякуємо за ваш відгук!