Как ответить
За последние полгода я в основном работал с градиентным бустингом и линейными моделями, потому что решали задачи классификации и регрессии на табличных данных. Из фреймворков чаще всего использую XGBoost и CatBoost, а из линейных — логистическую регрессию с L2-регуляризацией из sklearn.
Например, на текущем проекте мы предсказываем склонность клиента к оттоку. Модель — XGBoost-классификатор с гиперпараметрами, подобранными через Optuna. Основные фичи: частота обращений в техподдержку, средний чек за последние 90 дней, количество успешных взаимодействий и категориальные признаки (сегмент клиента, регион), закодированные таргет-кодированием. Добились F1-score 0.78 на отложенной выборке — это на 12% лучше baseline (логистическая регрессия с TF-IDF на тексте обращений).
Для одной из фич пришлось делать feature engineering: из логов активности собрал энтропию посещений страниц — она добавила +0.02 к F1. Метрику подобрали бизнесовую: компания считает, что каждый удержанный клиент стоит $30, поэтому смотрели на precision@80% recall — и оптимизировали порог срабатывания модели.
Ещё недавно участвовал в хакатоне по NLP, там использовал RuBERT для классификации комментариев на три тональности. Модель взяли из huggingface transformers, дообучали 3 эпохи на размеченном датасете в 15k примеров. Лучший результат — macro F1 0.71 без аугментации, с аугментацией back-translation (русский -> английский -> русский) подняли до 0.74. Архитектура: полносвязный слой на CLS-токене, dropout 0.2, оптимизатор AdamW с learning rate 5e-5.
Из более специфичного — один раз применял Partial Least Squares (PLS) для задачи с мультиколлинеарностью: корреляции между признаками достигали 0.95, OLS-регрессия валилась. PLS дал R² = 0.68 на валидации и понятную интерпретацию через нагрузки компонент — это помогло бизнесу объяснить, какие фичи драйвят продажи.