Какие инструменты и библиотеки можно использовать при решении задач на Python
Что проверяют
Есть ли у вас рабочий набор инструментов на весь цикл задачи, от загрузки данных до модели, и понимаете ли вы, что брать в каком случае. Следом обычно просят объяснить, почему бустинг, а не нейросеть, или почему pandas, а не Polars.
Как отвечать
Список лучше строить по этапам:
- данные: NumPy для векторных вычислений, pandas для таблиц. Когда pandas упирается в память или скорость, берут Polars с ленивым API или DuckDB, который выполняет SQL прямо по Parquet и датафреймам. Если данные не влезают на одну машину: PySpark или Dask;
- статистика: SciPy для тестов и распределений, statsmodels для регрессий с интерпретацией коэффициентов и временных рядов;
- классическое ML: scikit-learn с
PipelineиColumnTransformer, чтобы предобработка и модель обучались вместе. На табличных данных чаще выигрывают градиентные бустинги: CatBoost, LightGBM, XGBoost; - глубокое обучение: PyTorch как основной фреймворк, Hugging Face
transformersдля NLP и готовых моделей. TensorFlow и Keras встречаются в старых проектах; - эксперименты: Optuna для гиперпараметров, MLflow для учёта запусков и метрик, DVC для версий данных;
- визуализация: Matplotlib, Seaborn, Plotly для интерактивных графиков;
- среда и выкладка: Jupyter для исследований,
uvили Poetry для зависимостей, FastAPI и ONNX Runtime для сервинга.
Привяжите выбор к задачам из своего опыта: какой был объём данных, почему именно этот инструмент и что он дал. Если модели в продакшен вы не выкатывали, так и скажите и расскажите, что использовали в учебных или исследовательских проектах. Это честнее и убедительнее длинного списка.
Где спотыкаются
Перечисляют библиотеки без условий выбора. «Знаю TensorFlow и PyTorch» звучит слабее, чем объяснение, почему на табличных данных вы начали бы с бустинга.
Обучают StandardScaler или энкодер на всём датасете до разбиения. Это утечка данных, и оценка на валидации выходит завышенной. Решение: Pipeline внутри кросс-валидации.
Пишут циклы по строкам через iterrows или apply там, где работают векторные операции. На миллионе строк разница измеряется порядками.