Какие ограничения есть у логистической регрессии?

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

Ответ

Логистическая регрессия — линейный классификатор, и её ключевое ограничение — предположение о линейной разделимости классов в пространстве признаков. Она не может уловить сложные нелинейные границы без предварительных преобразований.

Основные ограничения:

  1. Линейность: Модель строит линейную границу решения. Для нелинейных данных требуются техники feature engineering:

    from sklearn.preprocessing import PolynomialFeatures
    from sklearn.linear_model import LogisticRegression
    from sklearn.pipeline import Pipeline
    
    # Создание полиномиальных признаков 2-й степени
    model = Pipeline([
        ('poly', PolynomialFeatures(degree=2, include_bias=False)),
        ('clf', LogisticRegression())
    ])
    model.fit(X_train, y_train)
  2. Чувствительность к мультиколлинеарности: Сильно коррелированные признаки ухудшают интерпретируемость (нестабильность оценок коэффициентов) и могут снижать производительность. Решение — отбор признаков или регуляризация (L1/L2).
  3. Предположение о независимости наблюдений: Не подходит для временных рядов или сгруппированных данных, где есть автокорреляция.
  4. Работа с вероятностями: Предсказанные вероятности могут быть смещёнными, особенно при сильном дисбалансе классов. На практике для калибровки вероятностей иногда используют Platt scaling.

В реальных задачах логистическую регрессию часто используют как сильный и интерпретируемый baseline, а для сложных нелинейных зависимостей переходят к деревьям или нейросетям.