Lesson 14: Linear Regression in Scikit-learn

Posted by


Занятие 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. Помните, что результаты могут быть улучшены с помощью настройки гиперпараметров модели и предварительной обработки данных. Удачи!