← Назад к вопросам

Какие знаешь модели линейной регрессии?

1.0 Junior🔥 181 комментариев
#Машинное обучение#Статистика и A/B тестирование

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI30 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Основные модели линейной регрессии

Классическая линейная регрессия (Ordinary Least Squares, OLS)

Это базовая модель, которая минимизирует сумму квадратов ошибок:

from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)

Плюсы: простота, интерпретируемость коэффициентов, быстрое обучение. Минусы: чувствительна к выбросам и мультиколлинеарности.

Ridge регрессия (L2 регуляризация)

Добавляет штраф на квадрат коэффициентов. Решает проблему мультиколлинеарности за счёт сжатия коэффициентов:

from sklearn.linear_model import Ridge
model = Ridge(alpha=1.0)  # alpha — параметр регуляризации
model.fit(X_train, y_train)

Когда использовать: много коррелирующих признаков, нужна стабильность модели.

Lasso регрессия (L1 регуляризация)

Штрафует абсолютное значение коэффициентов. Может обнулять некоторые коэффициенты, выполняя отбор признаков:

from sklearn.linear_model import Lasso
model = Lasso(alpha=0.01)
model.fit(X_train, y_train)

Плюсы: интерпретируемость, автоматический отбор признаков. Минусы: может нестабильно работать с группами коррелирующих признаков.

Elastic Net

Комбинирует L1 и L2 регуляризацию. Параметр l1_ratio управляет балансом:

from sklearn.linear_model import ElasticNet
model = ElasticNet(alpha=0.1, l1_ratio=0.5)

Лучший выбор: когда много признаков и нужны отбор + стабильность.

Полиномиальная регрессия

Преобразует линейную модель для работы с нелинейными зависимостями:

from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import Pipeline

poly = PolynomialFeatures(degree=2)
model = Pipeline([
    ("poly", poly),
    ("linear", LinearRegression())
])

Опасность: переобучение при высокой степени полинома.

Выбор модели

  • OLS → просто, есть интерпретируемость, мало признаков
  • Ridge → много признаков, мультиколлинеарность
  • Lasso → отбор признаков, разреженность решения
  • Elastic Net → лучший баланс в большинстве случаев
  • Полиномиальная → очевидная нелинейность в данных

Во всех случаях обязательно нормализуй признаки и используй cross-validation для подбора гиперпараметров!