📈 Как построить линейную регрессию в Python с примерами кода? 🐍
Чтобы построить линейную регрессию в Python, мы можем использовать библиотеку scikit-learn. Вот пример кода:
from sklearn.linear_model import LinearRegression
import numpy as np
# Создание массива X с признаками
X = np.array([[1], [2], [3], [4], [5]])
# Создание массива y с целевыми значениями
y = np.array([2, 4, 6, 8, 10])
# Инициализация и обучение модели линейной регрессии
model = LinearRegression()
model.fit(X, y)
# Получение предсказанных значений
y_pred = model.predict(X)
В этом примере мы используем класс LinearRegression из библиотеки scikit-learn. Мы создаем двумерный массив X с одним признаком и одномерный массив y с целевыми значениями. Затем инициализируем модель LinearRegression и обучаем ее на данных. Наконец, мы используем обученную модель для предсказания значений на основе X.
Детальный ответ
Как построить линейную регрессию в Python
Линейная регрессия - это статистический метод, используемый для анализа связи между двумя переменными: зависимой переменной (целевой) и независимой переменной (признаком). В Python существует несколько библиотек, позволяющих построить и использовать модель линейной регрессии. В этой статье мы рассмотрим, как построить линейную регрессию с помощью библиотеки scikit-learn.
1. Установка необходимых библиотек
Перед тем, как начать работу с линейной регрессией, необходимо установить библиотеку scikit-learn. Выполните следующую команду в терминале, чтобы установить ее с помощью pip:
pip install scikit-learn
2. Загрузка данных
Перед тем, как начать построение модели линейной регрессии, необходимо загрузить данные, которые будут использоваться для тренировки модели. В примере ниже мы будем использовать набор данных о ценах на недвижимость:
import pandas as pd
# Загрузка данных
data = pd.read_csv('data.csv')
3. Разделение данных на признаки и целевую переменную
После загрузки данных необходимо разделить их на признаки (независимые переменные) и целевую переменную (зависимую переменную). В нашем случае, столбец "площадь" будет рассматриваться как признак, а столбец "цена" - как целевая переменная:
X = data['площадь'].values.reshape(-1, 1)
y = data['цена'].values
4. Разделение данных на обучающий и тестовый наборы
Для проверки производительности модели линейной регрессии необходимо разделить данные на обучающий и тестовый наборы. Данные обучающего набора будут использоваться для обучения модели, а данные тестового набора - для проверки точности предсказаний модели. В примере ниже мы используем функцию train_test_split из библиотеки scikit-learn:
from sklearn.model_selection import train_test_split
# Разделение данных на обучающий и тестовый наборы
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
5. Создание и обучение модели линейной регрессии
Теперь, когда данные подготовлены, можно переходить к созданию и обучению модели линейной регрессии. В библиотеке scikit-learn модель линейной регрессии представлена классом LinearRegression:
from sklearn.linear_model import LinearRegression
# Создание модели линейной регрессии
model = LinearRegression()
# Обучение модели
model.fit(X_train, y_train)
6. Предсказание и оценка модели
После обучения модели можно использовать ее для предсказания значений на новых данных. В примере ниже мы используем полученную модель для предсказания цен на недвижимость с использованием тестового набора данных:
# Предсказание на тестовом наборе данных
y_pred = model.predict(X_test)
Для оценки производительности модели линейной регрессии можно использовать различные метрики, такие как средняя абсолютная ошибка (MAE), средняя квадратичная ошибка (MSE) и коэффициент детерминации (R²). В примере ниже мы используем функцию mean_squared_error из библиотеки scikit-learn для вычисления MSE:
from sklearn.metrics import mean_squared_error
# Вычисление MSE
mse = mean_squared_error(y_test, y_pred)
7. Визуализация результатов
Наконец, можно визуализировать полученные результаты. В примере ниже мы используем библиотеку Matplotlib для построения графика, на котором отображаются реальные и предсказанные значения цены недвижимости:
import matplotlib.pyplot as plt
# Построение графика
plt.scatter(X_test, y_test, color='blue', label='Реальные значения')
plt.plot(X_test, y_pred, color='red', linewidth=2, label='Предсказанные значения')
plt.xlabel('Площадь')
plt.ylabel('Цена')
plt.legend()
plt.show()
Заключение
В этой статье мы рассмотрели, как построить линейную регрессию в Python с использованием библиотеки scikit-learn. Мы изучили основные шаги, начиная от установки необходимых библиотек до построения модели, предсказания значений и оценки ее производительности. Линейная регрессия является мощным инструментом для анализа и прогнозирования связи между переменными, и ее использование в Python дает возможность легко реализовывать и тестировать модели.