Строить свои модели с помощью NLTK не получится, но в ней есть много заранее реализованных, в том числе нейросетевых. Кроме того, библиотека содержит большое количество функций для обработки текста. NumPy — библиотека для работы с математическими вычислениями, методами линейной алгебры и статистики. Ее используют не только в ML — большинство библиотек для машинного обучения опирается на ее возможности.
Pandas
Кроме загрузки из файла, данные можно взять из структур самого Python — например, списков, словарей или многомерных массивов NumPy. В коде ниже OpenCV в одну строчку разделяет картинку на цветовые каналы H, S и V. Остальной код — визуализация с помощью библиотеки Matplotlib. С помощью OpenCV можно преобразовывать изображения, фильтровать их элементы и отсекать ненужное, обнаруживать и извлекать объекты с заданными свойствами. Кроме работы с классическими «плоскими» двумерными изображениями, есть отдельный набор функций для калибровки камеры и работы с 3D-объектами. С помощью NLTK можно в несколько строчек удалить из текста стоп-слова. Код ниже загружает список стоп-слов для русского языка, затем разбивает введенный текст на слова и отфильтровывает — удаляет слова, которые есть в стоп-списке.
Собрать подборку помог Кирилл Симонов — ML-разработчик компании IRLIX с экспертизой в компьютерном зрении. Затем остается только скомпилировать и обучить модель на подготовленных данных. Это тоже можно сделать парой команд, просто подставить нужные параметры. Нужно указать количество эпох, то есть полных прохождений датасета через модель, а также размер батча — «групп», на которые делится набор данных. Библиотека основана на NumPy и SciPy, frontend разработчик применяется в анализе данных и традиционном машинном обучении, которое не использует нейросети.
Внутри класса можно описать основные структурные части нейросети, а затем создать модель — объект этого класса.
В Scikit-learn собраны алгоритмы и инструменты для построения моделей, обработки и классификации данных, а также оценки результатов. NumPy предоставляет множество функций для работы с числовыми данными как с N-мерными матрицами. Этот формат удобнее и быстрее в работе, чем встроенные в Python структуры данных вроде библиотеки python для начинающих списков и кортежей.
Это техника машинного обучения, при которой результат достигается с помощью структуры из последовательно выстроенных ML-моделей. Для этого процесса нужно много ресурсов, поэтому важно, чтобы алгоритмы работали быстро и эффективно. В крупных проектах Scikit-learn не используют из-за сложностей с оптимизацией вычислений на больших данных. С помощью библиотеки проводят первичный анализ текстов, например классифицируют по темам или определяют тональность.
- Собрать подборку помог Кирилл Симонов — ML-разработчик компании IRLIX с экспертизой в компьютерном зрении.
- Библиотеку применяют для классификации изображений, текстов и звуков, а также для NLP — обработки естественного языка.
- Библиотека NLTK для Python специализируется на конкретной отрасли ML — обработке естественного языка.
- Строить свои модели с помощью NLTK не получится, но в ней есть много заранее реализованных, в том числе нейросетевых.
Кроме того, библиотека предоставляет доступ к огромным базам текстовых данных для обучения моделей. Так выглядит простейшая модель для решения задачи https://deveducation.com/ классификации, созданная с помощью XGBoost. В этом примере используется стандартный набор тестовых данных Pima Indians Dataset — он содержит информацию о разных группах пациентов и о риске диабета у них. Модель будет определять, с какой вероятностью новое значение относится к тому или иному классу — болен человек диабетом или нет. Библиотека NLTK для Python специализируется на конкретной отрасли ML — обработке естественного языка.
Nltk
Также библиотека лежит в основе многих алгоритмов для робототехники — ее возможности помогают роботам «видеть» окружающий мир. Например, построить модель линейной регрессии, загрузить в нее данные и протестировать гипотезу с помощью библиотеки можно в три строчки кода. Простой пример работы с NumPy — математические операции над двумерными матрицами. Это одна из базовых операций, которые используются в ML и построении нейросетей.
TensorFlow можно применять в разных направлениях ML, но чаще всего ее используют для построения нейронных сетей и моделей глубокого обучения. Библиотеку применяют для классификации изображений, текстов и звуков, а также для NLP — обработки естественного языка. В последние версии TensorFlow по умолчанию включили библиотеку Keras, которая позволяет создавать те же модели с меньшим количеством кода. Мы объединили три библиотеки машинного обучения в один пункт, потому что они решают одинаковые задачи с помощью одного и того же инструмента — градиентного бустинга.
Skillfactory и НИЯУ МИФИ создали магистерскую программу для тех, кто хочет освоить Knowledge Science и ML до продвинутого уровня. Студенты научатся создавать интеллектуальные модели для разных сфер — от IT и финансов до науки и медицины, обучать их и внедрять в продакшн. Освоят базу по математике и программированию на Python, а еще смогут получить реальные кейсы по ML-обучению в IT-компаниях — партнерах программы. Закончим подборку на OpenCV — самой известной библиотеке Python для компьютерного зрения. В нее входят функции для построения моделей, инструменты обработки изображений, распознавания и выделения объектов и многое другое. С помощью PyTorch можно легко создавать простые модели нейронных сетей.
Например, код ниже описывает нейросеть из двух линейных слоев с функцией активации для каждого слоя. Эта сеть классифицирует входные данные — относит или к одной, или к другой категории. До развития нейросетевых технологий эти библиотеки считались State-of-the-art, то есть лучшими инструментами в своей сфере (классификации и регрессии). Сейчас их продолжают применять в продакшне — коммерческой разработке, — где они до сих пор успешно конкурируют с нейросетями. Еще библиотеку часто рекомендуют новичкам для обучения — ее довольно просто использовать, у нее понятная и подробная документация. Это хороший вариант для тех, кто хочет быстро вникнуть в теоретическую базу ML и попрактиковаться.