Как ответить
Я больше уверен в деревьях решений, особенно в случайном лесе, когда задача — получить хорошее качество «из коробки» без глубокого анализа данных. Логистическая регрессия даёт мне больше уверенности, когда нужно понять, какие именно признаки влияют на результат, и оценить их вес с чёткими p-value.
На практике я выбираю так:
- Случайный лес — если данных много (тысячи строк), признаки смешанные (числовые и категориальные), и есть нелинейные зависимости. Например, на задаче классификации клиентов по 50 признакам лес без настройки даёт AUC 0.85, а логистическая регрессия — 0.78. При этом лес устойчив к выбросам и пропускам.
- Логистическая регрессия — если данные хорошо отмасштабированы, признаков мало (< 20), и бизнесу важно объяснить, почему модель приняла решение. Например, в кредитном скоринге: регрессия покажет, что «просрочка >30 дней» увеличивает odds в 3.2 раза, а лес — просто выдаст вероятность.
Но есть нюансы. Случайный лес легко переобучается на зашумлённых данных — я проверяю это по кросс-валидации (5-fold) и смотрю, не падает ли точность на тесте больше чем на 5% относительно трейна. Логистическая регрессия, наоборот, требует ручной обработки: удаления мультиколлинеарности (VIF > 10), нормализации признаков (StandardScaler) и проверки на сбалансированность классов (если дисбаланс — взвешиваю class_weight='balanced').
В итоге: для прототипа или хакатона — лес. Для production с требованиями к интерпретируемости — регрессия. Но часто я комбинирую: сначала лес для отбора признаков (feature_importances_), потом регрессию на отфильтрованных.