Какие модели использовать для задачи классификации
Что проверяют
Умеете ли вы выбирать модель от данных и ограничений задачи, а не перечислять учебник. Вопрос поведенческий, поэтому ждут опоры на ваш опыт: какую модель брали, почему и чем закончилось. Следом обычно спрашивают про метрику и несбалансированные классы.
Как отвечать
Стройте ответ от типа данных:
- табличные данные: сильный выбор по умолчанию это градиентный бустинг, CatBoost, LightGBM, XGBoost. На таблицах он обычно обыгрывает нейросети, а CatBoost ещё и работает с категориальными признаками без ручного кодирования;
- базовая модель: логистическая регрессия. Быстрая, интерпретируемая, выдаёт вероятности, с ней сравнивают всё остальное;
- Random Forest: почти без настройки, хорош как второй бейзлайн, но обычно уступает бустингу;
- текст: от TF-IDF с логистической регрессией до дообучения предобученного трансформера типа BERT, если данных и ресурсов хватает;
- изображения и звук: предобученные свёрточные сети или vision-трансформеры с дообучением, с нуля обучают редко;
- kNN, SVM, наивный Байес: уместны на небольших данных или как быстрый бейзлайн для текста.
Дальше критерии выбора: объём данных, требования к интерпретируемости (скоринг, медицина), задержка на инференсе, нужна ли калиброванная вероятность. Метрику выбирайте до модели: ROC-AUC, PR-AUC и F1 при дисбалансе, log loss, если важны вероятности. Валидация стратифицированная, а если данные упорядочены во времени, то по времени.
Самое сильное в ответе это ваша история: «на задаче оттока начали с логистической регрессии, бустинг дал прирост по PR-AUC, в прод пошёл он, потому что...». Цифры берите свои. Если промышленного опыта нет, так и скажите и расскажите про учебный проект или соревнование, где вы честно сравнили несколько моделей на одной валидации.
Где спотыкаются
Сразу берут нейросеть для табличных данных и не строят бейзлайн, с которым её сравнить.
Оценивают модель по accuracy при сильном дисбалансе классов. При 1% положительных модель «всегда нет» даёт 99% и бесполезна.
Допускают утечку: масштабируют или кодируют признаки на всём датасете до разбиения. Препроцессинг должен жить внутри Pipeline и обучаться только на трейне.