Линейная регрессия — это широко используемый статистический метод, который позволяет нам моделировать взаимосвязь между зависимой переменной и одной или несколькими независимыми переменными. В этой статье мы узнаем, как создать модель линейной регрессии на 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 для задач линейной регрессии.