- PVSM.RU - https://www.pvsm.ru -
Python — один из наиболее популярных языков программирования. Причина — в его универсальности, ведь это мультитул с возможностью «заточки» под самые разные нужды. Сегодня мы публикуем подборку с описанием 10 полезных для data-scientist и специалиста по ИИ инструментов.
Машинное обучение, нейросети, Big-data — всё более растущий тренд, а значит, нужно все больше специалистов. Синтаксис Python математически точный, так что его понимают не только программисты, но и все, кто связан с техническими науками, — вот почему такое количество новых инструментов создается именно на этом языке.
Skillbox рекомендует: Практический курс «Python-разработчик с нуля» [1].
Напоминаем: для всех читателей «Хабра» — скидка 10 000 рублей при записи на любой курс Skillbox по промокоду «Хабр».
Но хватит описывать достоинства Python, давайте наконец приступим к нашей подборке.
Shogun [2] — решение с большим количеством возможностей по машинному обучению, с фокусировкой на Support Vector Machines (SVM). Написан он на С++. Shogun предлагает широкий спектр унифицированных методов machine learning, в основе которых — надежные и доступные пониманию алгоритмы.
Shogun качественно задокументирован. Из недостатков можно назвать относительную сложность работы с API. Распространяется бесплатно.
Keras [3] — высокоуровневый API нейросетей, предоставляющий библиотеку глубокого обучения для Python. Это один из лучших инструментов для тех, кто начинает свой путь в качестве специалиста по машинному обучению. По сравнению с другими библиотеками Keras гораздо более понятен. С ним могут работать такие популярные фреймворки Python, как TensorFlow, CNTK или Theano.
4 основных принципа, лежащих в основе философии Keras, — дружественность пользователю, модульность, расширяемость и совместимость с Python. Из недостатков можно назвать относительно медленную скорость работы по сравнению с другими библиотеками.
Scikit-Learn [4] — open-source инструмент для дата-майнинга и анализа. Его можно использовать и в data-science. API инструмента удобный и практичный, его можно использовать для создания большого количества сервисов. Одно из главных достоинств — скорость работы: Scikit-Learn просто бьет рекорды. Главные возможности инструмента — регрессия, кластеринг, выбор модели, препроцессинг, классификация.
Pattern [5] — модуль веб-майнинга, который предоставляет возможности для сбора данных, обработки языка, машинного обучения, анализа сети и визуализаций разного рода. Он отлично задокументирован и поставляется с 50 кейсами, а также 350 юнит-тестами. И он бесплатен!
Theano [6] назван в честь древнегреческого философа и математика, давшего миру много полезного. Основные функции Theano — интеграция с NumPy, прозрачное использование ресурсов GPU, скорость и стабильность работы, самоверификация, генерация динамического С-кода. Среди недостатков можно упомянуть относительно сложный API и более медленную скорость работы, если сравнивать с другими библиотеками.
SciPy [7] — базирующаяся на Python экосистема open-source программного обеспечения для математиков, специалистов по ИТ, инженеров. В SciPy используются различные пакеты вроде NumPy, IPython, Pandas, что позволяет использовать популярные библиотеки для решения математических и научных задач. Этот инструмент — отличная возможность, если вам нужно показать данные серьезных вычислений. И он бесплатен.
Dask [8] — решение обеспечивающее возможность параллелизма данных в аналитике благодаря интеграции с такими пакетами, как NumPy, Pandas и Scikit-Learn. C Dask вы можете быстро распараллелить существующий код, изменив лишь несколько строк. Дело в том, что его DataFrame такой же, как в библиотеке Pandas, а работающий с ним NumPy имеет возможность распараллеливать задания, написанные на чистом Python.
Numba [9] — компилятор с открытым исходным кодом, который использует инфраструктуру компилятора LLVM для компиляции синтаксиса Python в машинный код. Основным преимуществом работы с Numba в приложениях для научных исследований можно назвать его скорость при использовании кода с массивами NumPy. Как и Scikit-Learn, Numba подходит для создания приложений машинного обучения. Стоит отметить, что решения на основе Numba будут особенно быстро работать на оборудовании, созданном для приложений машинного обучения или научных исследований.
High-Performance Analytics Toolkit (HPAT [10]) — compiler-based фреймворк для больших данных. Он автоматически масштабирует аналитические программы, равно как и программы машинного обучения, до уровня производительности облачных сервисов и может оптимизировать определенные функции с помощью декоратора jit [11].
Cython [12] — лучший выбор для работы с математическим кодом. Cython — это транслятор исходного кода на основе Pyrex, который позволяет вам легко писать C-расширения для Python. Более того, с добавлением поддержки интеграции с IPython / Jupyter код, написанный с использованием Cython, можно использовать в Jupyter при помощи встроенных аннотаций, ровно так же, как и любой другой код Python.
Приведенные выше инструменты почти идеальны для ученых, программистов и всех, кто имеет отношение к машинному обучению и большим данным. И конечно, стоит помнить, что эти инструменты заточены под Python.
Skillbox рекомендует:
- Онлайн-курс«Python-разработчик с нуля» [1].
- Практический годовой курс «PHP-разработчик с нуля до PRO» [13].
- Образовательный онлайн-курс «Профессия Java-разработчик» [14].
Автор: fokus-lop
Источник [15]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/python/289938
Ссылки в тексте:
[1] «Python-разработчик с нуля»: https://skillbox.ru/python/?utm_source=skillbox.media&utm_medium=habr.com&utm_campaign=ptndev&utm_content=digest&utm_term=top10toolsforptn
[2] Shogun: http://www.shogun-toolbox.org/
[3] Keras: https://keras.io/
[4] Scikit-Learn: http://scikit-learn.org/stable/
[5] Pattern: https://www.clips.uantwerpen.be/pattern
[6] Theano: http://deeplearning.net/software/theano/
[7] SciPy: https://www.scipy.org/
[8] Dask: http://dask.pydata.org/en/latest/
[9] Numba: https://pypi.org/project/numba/
[10] HPAT: https://github.com/IntelLabs/hpat
[11] jit: https://habr.com/users/jit/
[12] Cython: https://pypi.org/project/Cython/
[13] «PHP-разработчик с нуля до PRO»: https://skillbox.ru/php/?utm_source=skillbox.media&utm_medium=habr.com&utm_campaign=phpdev&utm_content=digest&utm_term=top10toolsforptn
[14] «Профессия Java-разработчик»: https://skillbox.ru/java/?utm_source=skillbox.media&utm_medium=habr.com&utm_campaign=javdev&utm_content=digest&utm_term=top10toolsforptn
[15] Источник: https://habr.com/post/420819/?utm_campaign=420819
Нажмите здесь для печати.