Проверяет понимание основ линейной регрессии как метода машинного обучения для моделирования зависимости между переменными.
Линейная регрессия — это фундаментальный алгоритм машинного обучения с учителем, используемый для прогнозирования непрерывной числовой переменной (зависимой переменной) на основе одной или нескольких независимых переменных (признаков). Основная идея заключается в том, что зависимая переменная может быть выражена как линейная комбинация признаков с добавлением случайной ошибки.
Для случая с одним признаком (простая линейная регрессия) модель выглядит так: y = w * x + b, где y — предсказание, x — признак, w — вес (коэффициент), b — смещение (intercept). Для множества признаков (множественная линейная регрессия) формула расширяется: y = w1*x1 + w2*x2 + ... + wn*xn + b.
Обучение заключается в поиске оптимальных значений весов w и смещения b, которые минимизируют ошибку на обучающих данных. Чаще всего используется метод наименьших квадратов (Ordinary Least Squares, OLS), который минимизирует сумму квадратов разностей между фактическими значениями y и предсказаниями модели. Для решения задачи оптимизации применяются аналитические методы (например, нормальное уравнение) или итеративные (например, градиентный спуск).
import numpy as np
from sklearn.linear_model import LinearRegression
# Пример данных: площадь дома (кв.м) и цена ($)
X = np.array([[50], [60], [80], [100], [120]])
y = np.array([150000, 180000, 240000, 300000, 360000])
# Создание и обучение модели
model = LinearRegression()
model.fit(X, y)
# Коэффициенты
print(f"Вес (w): {model.coef_[0]:.2f}")
print(f"Смещение (b): {model.intercept_:.2f}")
# Предсказание для дома 90 кв.м
prediction = model.predict([[90]])
print(f"Предсказанная цена: ${prediction[0]:.2f}")Линейная регрессия широко используется в экономике для прогнозирования цен, в аналитике для оценки влияния факторов на метрики, в науке для аппроксимации экспериментальных данных. Она служит базовым алгоритмом для понимания более сложных моделей.
Вывод: Линейная регрессия — это простой, быстрый и интерпретируемый алгоритм, который стоит применять, когда связь между признаками и целевой переменной предположительно линейна, а также в качестве baseline модели для сравнения с более сложными методами.
Уровень
Рейтинг:
5
Сложность:
2
Навыки
Python
Scikit-learn
Ключевые слова
Подпишись на Python Developer в телеграм