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

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

CC BY
306
67
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАШИННОЕ ОБУЧЕНИЕ / PYTHON / TENSORFLOW / PYTORCH / SCIKIT-LEARN / MACHINE LEARNING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Негодин В.А.

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

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

PYTHON'S MACHINE LEARNING

Machine learning is one of the main directions in the development of information technology, which allows solving the most non-standard tasks. Python is a good foundation for the development of machine learning, as it allows you to perform complex calculations. Thanks to libraries from third-party developers, machine learning has ceased to be something supernatural and complex. The article discusses various libraries that allows you to work with machine learning in the Python programming language.

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

УДК 004.42

Негодин В.А. студент 4 курса факультет информатики и робототехники ФГБОУВО «Уфимский Государственный Авиационный

Технический Университет» (УГАТУ) МАШИННОЕ ОБУЧЕНИЕ В ЯЗЫКЕ ПРОГРАММИРОВАНИЯ

PYTHON

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

Ключевые слова: машинное обучение, Python, TensorFlow, PyTorch, Scikit-learn.

Negodin V.A. student

4 course, Faculty of Informatics and Robotics «Ufa State Aviation Technical University» (USATU)

Russia, Ufa

PYTHON'S MACHINE LEARNING

Abstract: Machine learning is one of the main directions in the development of information technology, which allows solving the most non-standard tasks. Python is a good foundation for the development of machine learning, as it allows you to perform complex calculations. Thanks to libraries from third-party developers, machine learning has ceased to be something supernatural and complex. The article discusses various libraries that allows you to work with machine learning in the Python programming language.

Key words: machine learning, Python, TensorFlow, PyTorch, Scikit-learn.

Введение. Язык программирования Python является одним из самых популярных языков в области расчетов для различных исследований. Он имеет большое количество библиотек, из-за чего им поддерживается алгоритмическая разработка и исследовательский анализ данных, чем не могут похвастаться другие языки программирования. Из-за этих преимуществ язык программирования Python получил свое применение в машинном обучении, так как оно является актуальным направлением развития технологий в наше время. По своей сути, машинное обучение - создание нужных прогнозов на основе имеющейся статистики. Сейчас компьютеры могут распознавать не только текст, но и изображения, также учитывается контекст определения слов. [2]

Библиотеки для машинного обучения в Python.

Для языка программирования Python существует множество различных библиотек для машинного обучения. Пример нескольких библиотек для машинного обучения:

TensorFlow - библиотека, имеющая открытый исходный код. Предназначена для численного расчета с использованием графов потока данных. Соответственно, вся работа с данной библиотекой основана на построении и выполнения графа вычислений. Граф вычислений -конструкция, описывающая принцип, как будут проводиться вычисления. В TensorFlow также нельзя не учесть факт наличия Тензоров - многомерных массивов, которые являются основой для графа. Тензором может является как число, так и массив изображений. TensorFlow по принципу работы с тензорами похож на обработку массивов в библиотеке NumPy. Пример использования TensorFlow: zerostensor = tf.zeros([3, 3]) print(zeros_tensor.eval ()) print(zerostensor) >>> [[0. 0. 0.] [ 0. 0. 0.] [ 0. 0. 0.]]

>>> Tensor("zeros_1:0", shape=(3, 3), dtype=float32) PyTorch - библиотека, которая может заниматься расчетом тензора, используя ускорение графического ядра системы, и создавать глубокие нейронные сети, созданные на ленточной автоградной системе. Используется для решения многих задач, например, компьютерное зрение, обработка естественного языка. Также для PyTorch создаются различные библиотеки для упрощения машинного обучения, например, Fast.ai для упрощения процесса обучения моделей.

Пример использования PyTorch: traindataset = dsets.MNIST( root='./data', train=True,

transform =transforms.ToTensor(), download=True

)

testdataset = dsets.MNIST( root='./data', train=False,

transform =transforms.ToTensor()

)

Scikit-learn - одно из самых распространенных решений для задач, связанных с классическим машинным обучением. Имеются алгоритмы обучения с учителем и без учителя. Обучение с учителем подразумевает наличие уже готовых датасетов, в которым уже известно значение целевого

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

Пример использования Scikit-learn: iris = load_iris() plt.figure(figsize=((20,13))) clf = DecisionTreeClassifier() clf = clf.fit(iris.data, iris.target) plot_tree(clf

filled=True,

feature_names=iris.feature_names, class_names=iris.target_names, rounded=True) plt.show()

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

Использованные источники:

1. Гребнев К.Н. МАШИННОЕ ОБУЧЕНИЕ С ПОМОЩЬЮ БИБЛИОТЕКИ SCIKIT-LEARN ЯЗЫКА PYTHON / К.Н. Гребнев // Математический вестник педвузов и университетов Волго-Вятского региона. 2017. № 19. С. 277-281.

2. Карпенко О.В. ИНСТРУМЕНТЫ ДЛЯ МАШИННОГО ОБУЧЕНИЯ В ЯЗЫКЕ ПРОГРАММИРОВАНИЯ PYTHON / О.В. Карпенко, Д.Е. Шафеев,

3.Ф. Боярский // Аспирант и соискатель. 2018. № 1 (103). С. 25-27.

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