Линейная регрессия — это статистический метод, используемый для анализа связи между двумя непрерывными переменными. Он обычно используется в науке о данных и машинном обучении для моделирования связи между зависимой переменной (Y) и одной или несколькими независимыми переменными (X).

Чтобы построить простую модель линейной регрессии, нам нужно выполнить следующие шаги:

  1. Соберите данные: нам нужно собрать данные для зависимой переменной (Y) и независимой переменной (X).
  2. Визуализируйте данные: нам нужно нанести данные на график, чтобы увидеть, существует ли линейная связь между переменными. Это можно сделать с помощью точечной диаграммы.
  3. Разделите данные: нам нужно разделить данные на две части: набор для обучения и набор для тестирования. Обучающий набор используется для обучения модели, а тестовый набор используется для оценки производительности модели.
  4. Постройте модель: мы можем использовать библиотеку машинного обучения, например scikit-learn, для построения модели линейной регрессии. Мы можем создать экземпляр класса линейной регрессии, подогнать модель к обучающему набору и сделать прогнозы для тестового набора.
  5. Оцените модель: мы можем оценить производительность модели, используя различные показатели, такие как среднеквадратическая ошибка (MSE) и коэффициент детерминации (R-квадрат).

Вот пример кода, как построить простую модель линейной регрессии в Python с помощью scikit-learn:

# Import libraries
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.model_selection import train_test_split

# Generate random data
X = np.array([[1], [2], [3], [4], [5]])
y = np.array([2, 4, 5, 4, 6])
# Split the data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# Create an instance of the linear regression model
regressor = LinearRegression()
# Fit the model on the training data
regressor.fit(X_train, y_train)
# Make predictions on the testing data
y_pred = regressor.predict(X_test)
# Evaluate the performance of the model
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print('Mean squared error: ', mse)
print('Coefficient of determination: ', r2)

В этом примере мы сначала сгенерировали некоторые случайные данные для X и y. Затем мы разделяем данные на наборы для обучения и тестирования с помощью функции train_test_split. Мы создали экземпляр модели линейной регрессии, используя LinearRegression(), подогнали модель к обучающим данным, используя fit(), и сделали прогнозы по данным тестирования, используя predict(). Наконец, мы оценили производительность модели, используя mean_squared_error() и r2_score().