Python - один из популярнейших языков программирования (3 место по индексу TIOBE). Такая популярность порождает и некоторые минусы. На настоящий момент доступно около 137 000 библиотек для Python. Разобраться в этой экосистеме сложно. Но есть основные библиотеки, знание которых must have для любого аналитика. Давайте посмотрим этот список.
1. NumPy
NumPy библиотека, поддерживающая работу с N-мерными массивами. При этом библиотека позволяет работать с массивами и матрицами быстрее, чем стандартные методы Python. Так же в NumPy реализована поддержка высокоуровневых математических функций, предназначенных для работы с многомерными массивами.
NumPy используется во многих популярных библиотеках, например в Pandas или TensorFlow
2. Pandas
БольшАя часть времени аналитиков тратится на сбор, очистку, валидацию и различную обработку данных. В Pandas реализовано невероятное количество способов работы с данными. Одних методов read_* около 20.
Отдельно хочу отметить, что обрабатывать можно любой объём данных, который влезет в RAM. У меня есть опыт джоина таблички из 20млн строк саму на себя.
3. Gradio
Отличная библиотека для разворачивания моделей полученных в результате машинного обучения. Применение можно начать всего тремя строчками кода. Но самое главное, ваша модель будет доступна в web! Т.е. вы всегда сможете показать результат заказчику, собрать обратную связь, доработать модель.
4. SciPy
В этой библиотеке реализовано множество математических функций: статистические функции, функции оптимизации, обработки сигналов. SciPy позволяет решать дифференциальные уравнения и оптимизационные задачи. Особенно стоит отметить скорость работы с вычислениями линейной алгебры.
5. Scikit-learn
С этой библиотеки у большинства начинается путь в машинном обучении. Библиотека предоставляет множество инструментов для предиктивного моделирования и анализа. Почти во всех курсах описывают решение задач машинного обучения с помощью этой библиотеки. В т.ч. популярнейшие курсы на coursera.org.
Заключение
По сути, пяти этих библиотек достаточно чтобы решать практические задачи машинного обучения. При этом порог вхождения достаточно низкий.
Как считаете, ничего не забыл?