Топ 30 библиотек для машинного обучения

ТОП-30 библиотек для машинного обучения
Spread the love

Машинное обучение в современном мире играет огромную роль в бизнесе, IT и программировании. В обзоре будут представлены топ 30 часто используемых библиотек для машинного обучения для 6-ти популярных языков программирования. Не секрет, что наибольшее количество пакетов было создано для язков Python, JavaScript, R, с них и начнем наш обзор.

Краткое содержание:
Машинное обучение в JavaScript
Машинное обучение в Python
Машинное обучение в R
Машинное обучение в PHP
Машинное обучение в Java
Машинное обучение в C#

Машинное обучение в JavaScript

Независимо от того, являетесь ли вы разработчиком JavaScript, который хочет погрузиться в машинное обучение, или специалистом по машинному обучению, который планирует использовать JavaScript, эти платформы с открытым исходным кодом могут заинтриговать вас.
Хотя язык программирования Python поддерживает большинство сред машинного обучения, JavaScript не остался позади. Разработчики JavaScript использовали различные фреймворки для обучения и развертывания моделей машинного обучения в браузере.

Вот пять трендовых платформ машинного обучения с открытым исходным кодом в JavaScript.

TensorFlow.js

TensorFlow.js — это библиотека с открытым исходным кодом, позволяющая полностью запускать программы машинного обучения в браузере. Это наследник Deeplearn.js, который больше не поддерживается.
TensorFlow.js улучшает функциональные возможности Deeplearn.js и дает вам возможность максимально использовать браузер для deep learning.

С помощью библиотеки вы можете использовать универсальные и интуитивно понятные API-интерфейсы для определения, обучения и развертывания моделей с нуля прямо в браузере. Кроме того, он автоматически предлагает поддержку WebGL и Node.js.
Если у вас есть уже существующие обученные модели, которые вы хотите импортировать в браузер, TensorFlow.js позволит вам это сделать. Вы также можете переучить существующие модели, не выходя из браузера.

Machine learning tools

Библиотека инструментов машинного обучения представляет собой сборник ресурсоемких инструментов с открытым исходным кодом для поддержки широко распространенных функций машинного обучения в браузере. Эти инструменты обеспечивают поддержку нескольких алгоритмов машинного обучения, включая обучение без учителя, обработку данных, искусственные нейронные сети (ANN), математику и регрессию.

Если вы начинаете изучать Python и ищете что-то похожее на Scikit-learn для машинного обучения в браузере JavaScript, этот набор инструментов может помочь вам.

Keras.js

Keras.js — еще одна популярная платформа с открытым исходным кодом, которая позволяет запускать модели машинного обучения в браузере. Она предлагает поддержку режима GPU с использованием WebGL. Если у вас есть модели в Node.js, вы будете запускать их только в режиме процессора. Keras.js также предлагает поддержку моделей, обученных с использованием любой серверной среды, такой как Microsoft Cognitive Toolkit (CNTK).

Некоторые из моделей Keras, которые могут быть развернуты в браузере на стороне клиента, включают Inception v3 (обучение по ImageNet), 50-слойную сеть (обучение по ImageNet) и обучение по MNIST.

Brain.js

Концепции машинного обучения очень сложны, что может отбить у людей желание начать их использовать. Технические особенности и жаргоны в этой области могут привести в замешательство новичков. Вот здесь Brain.js становится важным. Это среда с открытым исходным кодом, основанная на JavaScript, которая упрощает процесс определения, обучения и запуска нейронных сетей.

Если вы являетесь разработчиком JavaScript и совершенно не знакомы с машинным обучением, Brain.js может уменьшить вашу кривую обучения. Его можно использовать с Node.js или в браузере на стороне клиента для обучения моделям машинного обучения. Некоторые из сетей, которые поддерживает Brain.js, включают сети Ellman и сети Gated Recurrent Units.

STDLib

STDLib — это библиотека с открытым исходным кодом для поддержки приложений JavaScript и Node.js. Если вы ищете библиотеку, которая подчеркивает поддержку в браузере для научных и числовых веб-приложений машинного обучения, STDLib может удовлетворить ваши потребности.

Библиотека поставляется с обширными и продвинутыми математическими и статистическими функциями, которые помогут вам в создании высокопроизводительных моделей машинного обучения. Вы также можете использовать его расширенные утилиты для создания приложений и других библиотек. Кроме того, если вам нужна среда для визуализации и анализа данных, вы найдете STDLib стоящей.

Машинное обучение в Python

NumPy

NumPy — это очень популярная библиотека на python для обработки больших многомерных массивов и матриц с помощью большого набора математических функций высокого уровня. Это очень полезно для фундаментальных научных вычислений в машинном обучении. Это особенно полезно для линейной алгебры, преобразования Фурье и случайных чисел. Высококачественные библиотеки, такие как TensorFlow, используют NumPy для манипулирования Tensors.

SciPy

SciPy — это очень популярная библиотека среди энтузиастов машинного обучения, так как она содержит различные модули для оптимизации, линейной алгебры, интеграции и статистики. Существует разница между библиотекой SciPy и стеком SciPy. SciPy является одним из основных пакетов, которые составляют стек SciPy. SciPy также очень полезен для манипулирования изображениями.

Skikit-learn

Skikit-learn — одна из самых популярных библиотек ML для классических алгоритмов ML. Она построена поверх двух основных библиотек Python, а именно, NumPy и SciPy. Scikit-learn поддерживает большинство алгоритмов обучения. Scikit-learn также можно использовать для анализа данных, что делает его отличным инструментом для начинающих.

Pandas

Pandas — это популярная Python библиотека для анализа данных. Она не имеет прямого отношения к машинному обучению. Как мы знаем, набор данных должен быть подготовлен до обучения. В этом случае Pandas очень пригодится, поскольку он был разработан специально для извлечения и подготовки данных. Библиотека предоставляет высокоуровневые структуры данных и разнообразные инструменты для анализа данных, а также множество встроенных методов поиска, объединения и фильтрации данных.

Keras

Keras — очень популярная библиотека машинного обучения для Python. Это высокоуровневый API нейронных сетей, способный работать поверх TensorFlow, CNTK или Theano. Он может работать как на процессоре, так и на GPU. Keras — это действительно для начинающих data scientist, которые хотят строить и проектировать нейронную сеть. Одним из лучших преимуществ Keras является то, что он позволяет легко и быстро создавать прототипы.

Машинное обучение в R

Dplyr

Dplyr в основном используется для манипулирования данными в R. Dplyr фактически построен вокруг этих 5 функций. Эти функции составляют большую часть манипуляций с данными, которые вы обычно делаете. Вы можете работать как с локальными фреймами данных, так и с таблицами удаленных баз данных.

Ggplot2

Ggplot2 — одна из лучших библиотек для визуализации данных в R. Библиотека ggplot2 реализует «грамматику графики» (Wilkinson, 2005). Этот подход дает нам последовательный способ создания визуализаций путем выражения взаимосвязей между атрибутами данных и их графическим представлением. Ggplot2 имеет широкий спектр функций.

MLR

Этот пакет абсолютно невероятен при выполнении задач машинного обучения. В нем собраны почти все важные и полезные алгоритмы для выполнения задач машинного обучения. Его также можно назвать основой для классификации, регрессии, кластеризации, мультиклассификации и анализа выживаемости. Есть также методы фильтра и обертки для выбора функции. Также, большинство выполняемых здесь операций можно распараллелить.

Caret

Caret отвечает за классификацию и регрессию. Одним из основных инструментов в пакете является функция train, к которой можно привыкнуть, оценив, используя повторную выборку, влияние параметров настройки модели на производительность. У Caret есть несколько функций, которые пытаются упростить процесс построения и оценки модели, а также выбор функций и другие методы. Один этот пакет — это все, что вам нужно знать для решения практически любой проблемы с машинным обучением. Он обеспечивает единый интерфейс для нескольких алгоритмов машинного обучения и стандартизирует различные другие задачи, такие как разделение данных, предварительная обработка, выбор характеристик, оценка важности переменных и т.д.

Esquisse

Не нравится ggplot2? возникли проблемы с использованием ggplot2 и его функций, тогда этот пакет для вас. Этот пакет принес наиболее важную особенность Tableau в R. Просто перетащите и сделайте визуализацию за считанные минуты. На самом деле это улучшение ggplot2. Этот плагин позволяет вам интерактивно исследовать ваши данные, визуализируя их с помощью пакета ggplot2. Это позволяет рисовать гистограммы, кривые, точечные диаграммы, гистограммы, а затем экспортировать график или получить код, генерирующий график.

Машинное обучение в PHP

RubixML

Высокоуровневая библиотека машинного обучения, которая позволяет создавать программы для изучения данных с использованием языка PHP. Удобный для разработчиков API для быстрого прототипирования. Модульная архитектура сочетает в себе мощность и гибкость. Открытый исходный код и бесплатное использование в коммерческих целях.

PHP-OPENCV

OpenCV — это библиотека функций, в основном предназначенная для компьютерного зрения в реальном времени.
PHP-OPENCV — это модуль, обертка для OpenCV.

PHP-ML

PHP-ML — библиотека машинного обучения для PHP. По умолчанию PHP-ML поддерживает алгоритмы, такие как классификация и регрессия. Он также имеет несколько наборов данных, доступных для изучения, таких как набор данных Iris, Wine и Glass.

Google Cloud Machine Learning

Google ML — это управляемый сервис, который позволяет разработчикам создавать и внедрять модели ML в бизнес-процессы. Он предлагает конвейер, нацеленный на решение проблемы машинного обучения от начала до конца. То есть он предоставляет услуги, которые помогают от самых основных задач, таких как сбор и очистка данных, до более сложных задач, таких как обучение и развертывание в большом масштабе.

Кроме того, его гибкость позволяет пользователям использовать услуги совместно или индивидуально. Другими словами, вы можете взять предварительно обученную модель и использовать службы Cloud ML для ее развертывания в облаке. Поддерживаются разные языки, в том числе PHP.

Tesseract for PHP

Tesseract — это механизм оптического распознавания символов для различных операционных систем. Это бесплатное программное обеспечение, выпущенное по лицензии Apache License версии 2.0. Спонсором разработки является Google с 2006 года. В 2006 году Tesseract считался одним из самых точных доступных на сегодняшний день механизмов распознавания текста с открытым исходным кодом. в PHP доступа обертка под эту библиотеку.

Машинное обучение в Java

Weka

Неудивительно, что Weka — выбор номер один для Java библиотеки машинного обучения. Weka 3 — полностью рабочая среда на основе Java, лучше всего используемая для алгоритмов машинного обучения. Weka в основном используется для интеллектуального анализа данных, анализа данных и прогнозного моделирования. Онf полностью бесплатная, портативная и простая в использовании благодаря графическому интерфейсу.

«Сила Weka заключается в классификации, поэтому приложения, которым требуется автоматическая классификация данных, могут извлечь из этого пользу, но также поддерживается кластеризация, извлечение правил ассоциации, прогнозирование временных рядов, выбор функций и обнаружение аномалий», — сказал профессор Эйбе Франк, сотрудник Профессор компьютерных наук в университете Вайкато в Новой Зеландии.

Коллекция алгоритмов машинного обучения Weka может быть применена непосредственно к набору данных или вызвана из вашего собственного Java кода. Она поддерживает несколько стандартных задач интеллектуального анализа данных, включая предварительную обработку данных, классификацию, кластеризацию, визуализацию, регрессию и выбор функций.

Massive Online Analysis (MOA)

MOA — это программное обеспечение с открытым исходным кодом, специально предназначенное для машинного обучения и интеллектуального анализа потоков данных в режиме реального времени. Разработанный на Java, она также может быть легко использована с Weka при масштабировании до более сложных задач. Коллекция алгоритмов машинного обучения и инструментов MOA полезна для регрессии, классификации, обнаружения выбросов, кластеризации, рекомендательных систем. MOA может быть полезен для больших развивающихся наборов данных и потоков данных, а также для данных, создаваемых устройствами Интернета вещей (IoT).

MOA специально разработан для машинного обучения на потоках данных в режиме реального времени. Она нацелена на экономию времени и памяти. MOA предоставляет эталонную среду для проведения экспериментов в области интеллектуального анализа данных, предоставляя несколько полезных функций, включая легко расширяемую структуру для новых алгоритмов, потоков и методов оценки; сохраняемые настройки для потоков данных (реальных и синтетических) для повторяющихся экспериментов и набор существующих алгоритмов для сравнения.

Deeplearning4j

Сообщество JAXenter отметило, что Deeplearning4j один из самых инновационных продуктов экосистемы Java. Deeplearning4j — это коммерческая библиотека с открытым исходным кодом, распространяемая с открытым исходным кодом на Java и Scala. Цель продукта заключается в объединении нейронных сетей и глубокого обучения для бизнес задач.

Deeplearning4j предназначен для самостоятельной работы программистов на Java, Scala и Clojure, работающих над Hadoop, массивной распределенной системой хранения данных с огромной вычислительной мощностью и способностью обрабатывать практически неограниченные параллельные задачи или задания. Глубокие нейронные сети и глубокое обучение способствуют распознаванию образов и целенаправленному машинному обучению. Все это означает, что Deeplearning4j очень полезен для определения шаблонов и настроений в речи, звуке и тексте. Кроме того, его можно использовать для обнаружения аномалий в данных временных рядов, таких как финансовые транзакции.

MALLET

Разработанный в основном Эндрю МакКаллумом и студентами из UMASS и UPenn, MALLET — это инструментальное средство машинного обучения с открытым исходным кодом для изучения языка в тексте. Этот пакет на основе Java поддерживает статистическую обработку естественного языка, кластеризацию, классификацию документов, извлечение информации, тематическое моделирование и другие приложения машинного обучения к тексту.

MALLET включает в себя сложные инструменты для классификации документов, такие как эффективные процедуры для преобразования текста. Он поддерживает широкий спектр алгоритмов (включая простые алгоритмы Байеса, деревья решений и энтропию) и код для оценки производительности классификатора. Также MALLET включает в себя инструменты для маркировки последовательности и моделирования тем.

ELKI

Среда для разработки KDD-приложений, поддерживаемая Index Structures (сокращенно ELKI), представляет собой программное обеспечение для анализа данных с открытым исходным кодом для Java. ELKI фокусируется на исследованиях алгоритмов, подчеркивая неконтролируемые методы в кластерном анализе, индексах базы данных и обнаружении выбросов. ELKI позволяет независимо оценивать алгоритмы интеллектуального анализа данных и задачи управления данными, разделяя их. Эта функция является уникальной среди других сред интеллектуального анализа данных, таких как Weta или Rapidminer. ELKI также допускает произвольные типы данных, форматы файлов или меры расстояния или подобия.

Разработанный для исследователей и студентов, ELKI предоставляет большой набор настраиваемых параметров алгоритма. Это позволяет честно и легко оценить и сравнить алгоритмы. ELKI особенно полезен для data science; он использовался для выявления вокализации кашалота, полетов в космос, перераспределения акул и прогнозирования трафика. Довольно полезно для аспирантов, которые хотят разобраться в своих наборах данных!

Машинное обучение в C#

ML.NET

ML.NET — это кроссплатформенная среда машинного обучения с открытым исходным кодом, которая делает машинное обучение доступным для разработчиков .NET.

ML.NET позволяет .NET разработчикам разрабатывать свои собственные модели и внедрять индивидуальное машинное обучение в свои приложения, используя .NET, даже без предварительного опыта разработки или настройки моделей машинного обучения.

Наряду с этими возможностями ML в нем также представлен первый проект API-интерфейсов .NET для моделей обучения, использующих модели для предсказаний, а также основные компоненты этой среды, такие как алгоритмы обучения, преобразования и данные ML структур.

TensorFlowSharp

API покрывает весь низкоуровневый API TensorFlow, он находится на одном уровне с другими языковыми средами. Но в настоящее время не включает высокоуровневый API, как это делается в Python, поэтому его использование для этих высокоуровневых операций затруднено.

Вы можете создавать прототипы, используя TensorFlow или Keras в Python, затем сохранять свои графики или обученные модели, а затем загружать результат в .NET с помощью TensorFlowSharp и передавать свои собственные данные для обучения или запуска.

Accord.NET

Accord.NET — это фреймворк для научных вычислений в .NET. Фреймворк содержит набор библиотек, доступных в исходном коде, а также через исполняемые установщики и пакеты NuGet. Основные области применения включают численную линейную алгебру, числовую оптимизацию, статистику, машинное обучение, искусственные нейронные сети, обработку сигналов и изображений и вспомогательные библиотеки (такие как построение графиков и визуализация). Первоначально проект был создан для расширения возможностей AForge.NET Framework, но с тех пор он включает в себя AForge.NET. Новые версии объединили обе платформы под именем Accord.NET.

Microsoft Azure ML Studio

Этот сервис использует облачные хранилища для машинного обучения. Microsoft предоставляет как платную, так и бесплатную версии, возможность пользоваться готовыми алгоритмами (своими и созданными сторонними компаниями). Тестировать платформу можно через анонимный профиль, а модели превращать в API и предоставлять другим сервисам. В бесплатной версии пользователям доступно 10 Гб, чтобы сохранять дани.Завдякы этом фреймворка создан, например, приложение How-Old (определяет пол и возраст по фотографии).

Amazon Machine Learning

Один из фреймворков компании, который работает с облачными данными с Amazon S3, Redshift и RDS. Он создает модели бинарной и мультикласовои классификации, а также выполняет регрессию. Но сервис сделан именно под Amazon, значит — модели не экспортируются и не импортируются.

Добавить комментарий