Ich sage euch: man muß noch Chaos in sich haben, um einen tanzenden Stern gebären zu können (“Also sprach Zarathustra”, Friedrich Nietzsche)
9 лучших библиотек Python для специалистов по данным и инженеров по машинному обучению
Возможно, вы уже знаете, что Python — это язык программирования, который позволяет работать быстро и более эффективно интегрировать системы. Кроме того, Python — это язык общего назначения и это означает, что на нём можно создавать самые разные приложения, от веб-разработки с использованием Djangoએ или Flaskએ до науки о данных с использованием таких замечательных библиотек, как Scipyએ, Scikit-Learnએ, Tensorflowએ и многих других. Здесь мы обсудим 9 библиотек:
Pandas — это мощный набор инструментов Python для анализа данных, обеспечивающий высокопроизводительную, простую в использовании библиотеку, гибкие и выразительные структуры данных, призванные сделать работу с «реляционными» или «помеченными» данными простой и интуитивно понятной. В основном он нацелен на то, чтобы использоваться, на уровне строительного блока на гибком языке, типа Python для практического анализа данных из реального мира.
Вот некоторые основные особенности Pandas:
Простая обработка отсутствующих данных (None и null в Python и в большинстве других языков программирования) как NaN во всех структурах данных.
Столбцы можно легко вставлять и удалять из фрейма данных.
Интуитивное слияние и объединение наборов данных.
Умение читать базы данных SQL.
Гибкое изменение формы и поворота наборов данных.
Простое преобразование данных в структурах данных Python и Numpy в объекты типа DataFrame
Matplotlib — это библиотека для построения графиков, которая создает рисунки в различных форматах печатных копий и в интерактивных средах на разных платформах. Matplotlib можно использовать в различных местах, в скриптах Python, оболочке IPythonએ, серверах веб-приложений, записных книжках jupyterએ и в различных инструментах графического интерфейса пользователя.
Для простого построения графика модуль pyplot предоставляет интерфейс, подобный MATLABએ, особенно в сочетании с IPython. Опытный пользователь имеет полный контроль над стилями линий, свойствами шрифтов, свойствами осей и т.д. через объектно-ориентированный интерфейс или через набор функций, знакомых пользователям MATLABએ.
Numpy считается одной из самых популярных научных вычислительных библиотек в Python. Он обеспечивает:
Мощный N-мерный массив объектов.
Легко использовать. Фактически, он упрощает сложные математические реализации.
Популярный, широко используемый, поэтому много открытого исходного кода.
Помимо научных исследований, его также можно использовать как эффективный многомерный контейнер общих данных, что позволяет ему быстро интегрироваться с базами данных самых известных форматов.
Кроме того, Numpy предоставляет интерфейс, который можно использовать для преобразования изображений, звуков и других двоичных необработанных потоков в виде массива действительных чисел в N-мерном пространстве.
Scipy — это программное обеспечение с открытым исходным кодом для математики, естественных наук и инженерии. Он включает модули статистики, оптимизации, интеграции, линейной алгебры, обработки сигналов и изображений и многое другое.
Scipy связан с Numpy, который обеспечивает удобные и быстрые манипуляции с N-мерными массивами.
В scipy хорошо тем, что хорошо документирован, посмотрите официальный сайт и репозиторий github.
Scikit-learn (sklearn) — это бесплатная библиотека для машинного обучения. Это модуль Python, построенный на основе Scipy. Первоначально проект был запущен в 2007 году Дэвидом Курнапо как проект Google Summer of Code, и с тех пор многие добровольцы внесли в него свой вклад.
Scikit-learn был создан с точки зрения разработки программного обеспечения. Его основной дизайн API основан на простоте использования, мощности и гибкости. Эта надежность делает его идеальным для использования в любом проекте машинного обучения, особенно, для новичков в Python. В основном он обеспечивает:
Простые и эффективные инструменты для интеллектуального анализа данных, машинного обучения и анализа данных.
Доступный для всех и многоразовый.
Открытый источник, коммерческое использование под лицензией BSD.
Theano — библиотека Python, которая позволяет вам эффективно определять, оптимизировать и оценивать математические выражения, включающие многомерные массивы. Это ключевая библиотека глубокого обучения. Вот некоторые особенности Theano:
PyTorch — среда машинного обучения с открытым исходным кодом, которая ускоряет путь от исследовательского прототипа до производственного развертывания.
Это пакет Python, который имеет две функции высокого уровня. а именно:
TensorFlow — программная библиотека с открытым исходным кодом для численных вычислений с использованием графов потоков данных. Узлы графа представляют математические операции, а ребра представляют многомерные массивы данных, которые называются тензорами, которые текут между ними. Такая гибкая архитектура позволяет развертывать вычисления на одном или нескольких CPUએ или [GPU]] (распределенных).
Наиболее надежными функциями tenorflow являются:
Простая визуализация (с использованием Tensorboard) каждой части графика, использование которой недоступно в Numpy или Scikit-Learn.
Легко обучается как на CPU, так и на GPU для распределенных вычислений. Первоначально был разработан Google, поэтому и очень популярен среди инженеров машинного/глубокого обучения.
TensorFlow теперь имеет TensorFlow.js, который представляет собой библиотеку JavaScript для обучения и развертывания моделей в браузере и на Node.js. Он также имеет TensorFlow Lite, легкую библиотеку для развертывания моделей на мобильных и встроенных устройствах.
Keras — API высокого уровня для нейронных сетей, написанный на Python и способный работать поверх Tensorflow, CNTK или Theano. Он был разработан с целью обеспечить возможность быстрого экспериментирования с глубокими нейронными сетями, чтобы иметь возможность перейти от идеи к результату с минимально возможными издержками.
Основные особенности Keras:
Он удобен в использовании и подходит для новичков в области глубокого обучения. Фактически, он предоставляет простой и последовательный интерфейс, оптимизированный для распространенных случаев примениния.
Модульный и составной.
Вы можете написать собственные строительные блоки для выражения новых идей для исследований, таких как создание новых слоев, функций потерь и разработка современных моделей.
В TensorFlow 2.0, Keras теперь является частью TensorFlow, и вы можете буквально использовать Keras в TensorFlow, и вам не нужно его устанавливать, вы можете импортировать его в код Python следующим образом:
Итак, чтобы подвести итог для вас, как для новичка, вам нужно начать с Scikit-Learn как библиотеки машинного обучения, а затем знать ее строительные блоки, а именно SciPy, Numpy, Pandas и Matplotlib.
Однако, если вы энтузиаст глубокого обучения, вам обязательно следует начать с API высокого уровня Keras, поскольку он предоставляет довольно простой дружественный интерфейс для начинающих и официальный API высокого уровня для TensorFlow. Theano и PyTorch также являются отличным кандидатом для вас, на самом деле они широко используются как в академической среде, так и в промышленности.
Наконец, если вы хотите изучить машинное обучение, настоятельно рекомендую вам пройти обучение основам машинного обучения на образовательном направлении 38.03.05 (38.04.05) Бизнес-информатика, удачи!