Научная статья на тему 'АНАЛИЗ БИБЛИОТЕК ЯЗЫКА ПРОГРАММИРОВАНИЯ PYTHON ДЛЯ МАШИННОГО ОБУЧЕНИЯ'

АНАЛИЗ БИБЛИОТЕК ЯЗЫКА ПРОГРАММИРОВАНИЯ PYTHON ДЛЯ МАШИННОГО ОБУЧЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
47
6
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
Python / машинное обучение / обзор библиотек / стек инструментов / Python / machine learning / library overview / tool stack

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — В.А. Соколов, Н.В. Ковбаса, Р.И. Кузьмич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ANALYSIS OF LIBRARIES OF PYTHON PROGRAMMING LANGUAGE FOR MACHINE LEARNING

Machine learning tasks occupy a separate place in the modern world as a way to digitalize the intellectual activity of employees and a platform for further reengineering of the enterprise. In the aerospace sphere, machine learning tasks are especially relevant, since due to decision-making in a short time with a large amount of incoming information without machine decision-making, data flow processing is limited, and its efficiency is reduced.

Текст научной работы на тему «АНАЛИЗ БИБЛИОТЕК ЯЗЫКА ПРОГРАММИРОВАНИЯ PYTHON ДЛЯ МАШИННОГО ОБУЧЕНИЯ»

Секция «Математические методы моделирования, управления и анализа данных»

УДК 004.4'22

АНАЛИЗ БИБЛИОТЕК ЯЗЫКА ПРОГРАММИРОВАНИЯ PYTHON ДЛЯ МАШИННОГО ОБУЧЕНИЯ

В. А. Соколов1,2*, Н. В. Ковбаса3

1 2

Научный руководитель - Р. И. Кузьмич '

1 Сибирский федеральный университет Российская Федерация, 660041, г. Красноярск, пр. Свободный, 79 2Университет «Сириус» Российская Федерация, 354349, Краснодарский край, пгт Сириус, проспект Олимпийский, д. 1 3Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

* Е-mail Sokolov.vladislavdev@gmail.com

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

Ключевые слова: Python, машинное обучение, обзор библиотек, стек инструментов.

ANALYSIS OF LIBRARIES OF PYTHON PROGRAMMING LANGUAGE

FOR MACHINE LEARNING

V. A. Sokolov1,2*, N. V. Kovbasa3

Scientific supervisor - R. I. Kuzmich1,2

1 Siberian federal university 79, prospect Svobodny, Krasnoyarsk, 660041, Russian Federation 2"Sirius University"

1, Olimpic Avenue, township Sirius, Krasnodar region, 354349, Russian Federation 3Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037, Russian Federation

* Е-mail Sokolov.vladislavdev@gmail.com

Machine learning tasks occupy a separate place in the modern world as a way to digitalize the intellectual activity of employees and a platform for further reengineering of the enterprise. In the aerospace sphere, machine learning tasks are especially relevant, since due to decision-making in a short time with a large amount of incoming information without machine decision-making, data flow processing is limited, and its efficiency is reduced.

Keywords: Python, machine learning, library overview, tool stack.

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

В совокупности, разбираемые библиотеки можно объединить в несколько групп: импорт и преобразование данных, алгоритмы и модели, визуализация и представление данных,

Актуальные проблемы авиации и космонавтики - 2022. Том 2

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

Импорт и преобразование данных

В первую очередь в данном разделе стоит упомянуть библиотеку Pandas. Данный модуль позволяет получать данные из источников разного типа, начиная с файлов формата XLSX, CSV, XML и заканчивая построением полноценных запросов к внешнему источнику данных. При этом основными объектами в работе с библиотекой являются серии данных и датафреймы, над которыми возможно произвести типовые операции с фреймами данных и осуществить препроцессинг, а большинство исследуемых в данной статье инструментов работают с данными, представленными в данных структурах без применения дополнительных действий к данным.

NumPy - еще одна библиотека Python, нередко используемая специалистами по анализу данных. В данном инструменте заложены функции для выполнения алгебраических операций (включая операции с матрицами), а также широкие возможности численных преобразований. Аналогично Pandas, с матрицами NumPy работает большинство используемых в машинном обучении библиотек.

Алгоритмы и модели

В первую очередь в данном разделе хотелось бы затронуть библиотеку Scikit-learn. Она реализует в себе множество математических моделей для решения задач категорий классификации, регрессии, кластеризации, а также предоставляет дополнительные функции для предварительной обработки (препроцессинга) данных, уменьшения размера выборок случайных величин, а также сравнения и выбора используемой модели. Количество возможных к построению моделей выходит за рамки объема статьи, однако инструмент определенно стоит внимания исследователей, работающих с анализом данных [1].

Другой интересный инструмент для работы, предназначенный для задач математического анализа - библиотека SciPy. Некоторые специалисты сравнивают набор доступных функций библиотеки с пакетом MATLAB, так как, реализуя множество возможностей данного пакета, библиотека становится его аналогом в языке программирования Python.

Для продвинутой работы с нейронными сетями, в том числе работы со сверточными нейронными сетями, позволяющими производить анализ изображений, наиболее широко применяемыми являются библиотеки TensorFlow (обеспечивает низкоуровневую работу со слоями нейронов с оптимальным использованием вычислительных ресурсов), Keras (позволяющий работать с TensorFlow на более высоком уровне абстракции с использованием специализированного API), Caffe (как альтернативный подход к построению архитектуры нейронных сетей при оптимальном использовании вычислительных ресурсов устройств) [2].

Визуализация и представление данных

Для данных целей в основном используются две библиотеки. Matplotlib позволяет реализовать рендеринг базовых графиков и диаграмм на основании переданных массивов данных. Более яркой, интересной и настраиваемой графикой является библиотека seaborn, содержащая широкий набор графических компонентов. Обе библиотеки позволяют как построить график для вывода в отдельное окно программы, либо в Notebook, используемый

Секция ееМатематические методы моделирования, управления и анализе данных»е

во время исследования, так и сформировать файл с данным графическим материалом для дальнейшего использования в отчетах по исследованию.

Специфические библиотеки

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

Для реализации градиентного бустинга к рассмотрению предлагаются библиотеки Xgboost (наиболее распространенная и задокументированная), LightGBM (имеет механизмы работы с нечисловыми критериями разбиения) [3].

AzureML позволяет производить работу с графами, а также предоставляет инструмент использования вычислительных ресурсов удаленных машин. Имеет интеграцию с Microsoft Azure.

IBMDSX позволяет производить вычисления с интеграцией структур данных между Python (в среде Jupyter Notebook), пакетом Spark, а также проектом IBM Watson.

Исследование выполнено при финансовой поддержке РФФИ, НТУ «Сириус», ОАО «РЖД» и Образовательного Фонда «Талант и успех» в рамках научного проекта № 20-3751007.

Библиографические ссылки

1. Кузнецов Н. А. Исследование возможности применения моделей машинного обучения на основе библиотеки Scikit-learn для оптимизации процесса аддитивного производства // Инновации в информационных технологиях, машиностроении и автотранспорте (ИИТМА-2020): сборник материалов IV Международной научно-практической конференции с онлайн-участием, 2020. С. 302-304.

2. Долженко А. И., Полиев А. Д., Потапов Л. И. Моделирование нейро-нечеткой сети на базе TensorFlow // Информационные системы, экономика и управление. 2020. № 22. С. 38-41.

3. Николенко С., Кадурин А., Архангельская Е. Глубокое обучение. Погружение в мир нейронных сетей. СПб.: Питер, 2020. 480 с.

© Соколов В. А., Ковбаса Н.В., 2022

i Надоели баннеры? Вы всегда можете отключить рекламу.