Занятие 14. Линейная регрессия в Scikit-learn
Линейная регрессия – это статистический метод для анализа отношения между двумя переменными, где одна переменная (независимая) используется для прогнозирования значения другой переменной (зависимой). В Scikit-learn, библиотеке машинного обучения на языке Python, линейная регрессия реализуется с использованием класса LinearRegression.
В этом уроке мы рассмотрим пример применения линейной регрессии с помощью библиотеки Scikit-learn, используя данные из набора данных о жилой площади и цене дома.
Шаг 1: Установка библиотеки Scikit-learn
Перед началом работы с линейной регрессией вам нужно убедиться, что у вас установлена библиотека Scikit-learn. Если у вас ее нет, вы можете установить ее с помощью pip:
pip install scikit-learn
Шаг 2: Загрузка данных
Для этого примера мы будем использовать набор данных о жилой площади и цене дома из библиотеки Scikit-learn. Для загрузки данных их можно импортировать из sklearn.datasets:
from sklearn.datasets import load_boston
boston = load_boston()
X = boston.data
y = boston.target
Шаг 3: Разделение данных на обучающий и тестовый наборы
Прежде чем мы начнем обучать модель, нам нужно разделить данные на обучающий и тестовый наборы. Мы будем использовать функцию train_test_split из sklearn.model_selection для этого:
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, random_state=42)
Шаг 4: Обучение модели
Теперь, когда у нас есть обучающий набор данных, мы можем обучить модель линейной регрессии. Для этого мы создадим экземпляр класса LinearRegression и вызовем метод fit, передавая наши обучающие данные:
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)
Шаг 5: Оценка модели
После обучения модели нам нужно оценить ее производительность на тестовом наборе данных. Мы можем использовать метод score для этого:
score = model.score(X_test, y_test)
print(f"Модель линейной регрессии дает результат: {score}")
Шаг 6: Получение прогнозов
Наконец, мы можем использовать обученную модель для предсказания цен на тестовых данных:
predictions = model.predict(X_test)
Это основной процесс использования линейной регрессии в Scikit-learn. Помните, что результаты могут быть улучшены с помощью настройки гиперпараметров модели и предварительной обработки данных. Удачи!