Линейная регрессия — это широко используемый статистический метод, который позволяет нам моделировать взаимосвязь между зависимой переменной и одной или несколькими независимыми переменными. В этой статье мы узнаем, как создать модель линейной регрессии на Python, используя популярную библиотеку scikit-learn.

Во-первых, мы начнем с импорта необходимых библиотек. Нам понадобятся NumPy, pandas и scikit-learn.

import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegressio

Далее мы загрузим наши данные в pandas DataFrame. В этом примере мы будем использовать популярный набор данных Boston Housing, который содержит информацию о различных объектах недвижимости в районе Бостона, включая медианную стоимость домов, занимаемых владельцами.

from sklearn.datasets import load_boston
boston = load_boston()
data = pd.DataFrame(boston.data, columns=boston.feature_names)
data['MEDV'] = boston.target

Теперь мы разделим наши данные на обучающую и тестовую выборки. Учебный набор будет использоваться для обучения нашей модели, а тестовый набор будет использоваться для оценки ее производительности.

from sklearn.model_selection import train_test_split
X = data.drop('MEDV', axis=1)
y = data['MEDV']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

Теперь мы создадим нашу модель линейной регрессии и подгоним ее к нашим обучающим данным.

model = LinearRegression()
model.fit(X_train, y_train)

Наконец, мы можем оценить производительность нашей модели на тестовом наборе, используя среднеквадратичную ошибку (MSE) и показатель R-квадрата.

from sklearn.metrics import mean_squared_error, r2_score
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print("MSE: ", mse)
print("R2: ", r2)

В этом примере мы узнали, как создать модель линейной регрессии в Python с помощью scikit-learn. Следуя этим простым шагам, вы можете начать строить свои собственные модели линейной регрессии и делать прогнозы на основе собственных данных.

Стоит отметить, что в реальных сценариях данные могут нуждаться в некоторой очистке, предварительной обработке и выборе функций, однако этот базовый пример должен дать вам представление о том, как использовать scikit-learn для задач линейной регрессии.