Какие библиотеки используете для решения типичных задач машинного обучения
Что проверяют
Есть ли за списком библиотек реальная работа: какую задачу вы решали, почему взяли именно этот инструмент и где он подвёл. Следом почти всегда просят подробно рассказать про один проект или сравнить два инструмента, например бустинги между собой.
Как отвечать
Стройте ответ по этапам работы и к каждому инструменту привязывайте свою задачу:
- данные:
pandasдля табличной работы,polarsдля больших таблиц, где важны скорость и ленивое выполнение,NumPyпод всем этим,pyarrowдля Parquet; - классическое ML:
scikit-learnсPipelineиColumnTransformer, чтобы предобработка обучалась только на трейне, плюсcross_val_scoreиGridSearchCV; - табличные данные в проде: градиентный бустинг
CatBoost,LightGBM,XGBoost.CatBoostудобен с категориальными признаками без ручного кодирования; - нейросети:
PyTorchкак основной фреймворк,transformersиsentence-transformersдля текстов,TensorFlowи Keras чаще встречаются в унаследованных проектах; - подбор гиперпараметров:
Optuna; - эксперименты и воспроизводимость:
MLflowдля трекинга и реестра моделей,DVCдля версий данных, окружение черезuv,poetryилиconda; - анализ и интерпретация:
matplotlib,seaborn,SHAP,statsmodelsдля статистики и временных рядов.
Для каждого пункта держите в голове пример из своей практики и цифру: объём данных, время обучения, прирост метрики. Если опыта с чем-то нет, так и скажите: «с polars работал только в учебном проекте, в проде использовал pandas». Честная граница выглядит сильнее, чем перечисление всего, что встречалось в статьях.
Где спотыкаются
Перечисляют два десятка названий без контекста. Первый же вопрос «почему LightGBM, а не CatBoost на этих данных?» показывает, что выбора не было.
Обучают StandardScaler или энкодер на всём датасете до разбиения. Это утечка данных, валидация получается завышенной, а Pipeline решает проблему целиком.
Молчат про развёртывание. Модель в ноутбуке и модель в сервисе это разные задачи: сериализация, ONNX или сервис на FastAPI, мониторинг дрейфа. Без этого вас воспринимают как аналитика, а не как ML-инженера.