Что означает вес признака в линейной регрессии?

«Что означает вес признака в линейной регрессии?» — вопрос из категории Классическое ML, который задают на 26% собеседований Data Scientist / ML Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Вес (коэффициент) признака в модели линейной регрессии количественно определяет влияние этого признака на целевую переменную.

Интерпретация: Коэффициент w_i для признака x_i показывает, на сколько единиц изменится предсказанное значение целевой переменной y, если значение признака x_i увеличится на одну единицу, при условии, что все остальные признаки остаются неизменными (ceteris paribus).

Пример модели: y_pred = w_0 + w_1 * x_1 + w_2 * x_2

  • w_1 = 2.5: Увеличение x_1 на 1 приводит к росту y_pred на 2.5.
  • w_2 = -0.8: Увеличение x_2 на 1 приводит к уменьшению y_pred на 0.8.
  • w_0 (intercept) — базовое значение y_pred, когда все признаки равны нулю.

Практический пример с scikit-learn:

from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression
from sklearn.preprocessing import StandardScaler

# Генерация данных
X, y = make_regression(n_samples=100, n_features=3, noise=0.1, random_state=42)

# Важно: для корректного сравнения весов признаки стоит стандартизировать
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# Обучение модели
model = LinearRegression()
model.fit(X_scaled, y)

print("Коэффициенты (веса):", model.coef_)
print("Свободный член:", model.intercept_)
# Вывод может быть: Коэффициенты: [45.2, -12.1, 0.5]
# Это означает, что первый признак имеет наибольшее положительное влияние.

Ключевые моменты:

  • Знак коэффициента указывает на направление связи (прямая/обратная).
  • Масштаб признаков критически важен. Веса несравнимы, если признаки имеют разные единицы измерения (например, возраст в годах и зарплата в рублях). Стандартизация или нормализация решает эту проблему.
  • Высокое абсолютное значение веса указывает на сильное влияние признака, но это верно только при корректном масштабе данных.