Ответ
Логистическая регрессия — линейный классификатор, и её ключевое ограничение — предположение о линейной разделимости классов в пространстве признаков. Она не может уловить сложные нелинейные границы без предварительных преобразований.
Основные ограничения:
-
Линейность: Модель строит линейную границу решения. Для нелинейных данных требуются техники 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) - Чувствительность к мультиколлинеарности: Сильно коррелированные признаки ухудшают интерпретируемость (нестабильность оценок коэффициентов) и могут снижать производительность. Решение — отбор признаков или регуляризация (L1/L2).
- Предположение о независимости наблюдений: Не подходит для временных рядов или сгруппированных данных, где есть автокорреляция.
- Работа с вероятностями: Предсказанные вероятности могут быть смещёнными, особенно при сильном дисбалансе классов. На практике для калибровки вероятностей иногда используют Platt scaling.
В реальных задачах логистическую регрессию часто используют как сильный и интерпретируемый baseline, а для сложных нелинейных зависимостей переходят к деревьям или нейросетям.