Побудова Множинної Лінійної Регресії
Свайпніть щоб показати меню
Клас 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.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат