Научная статья на тему 'ВВЕДЕНИЕ В АНАЛИЗ ДАННЫХ'

ВВЕДЕНИЕ В АНАЛИЗ ДАННЫХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
25
5
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
анализ данных / деревья принятия решений / метод k ближайших соседей / машинное обучение / data analysis / decision trees / k nearest neighbors / machine learning

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

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Н.В. Ульянов, Ш.А. Ахмедова

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

INTRODUCTION TO DATA ANALYSIS

In this paper a short introduction to machine learning and its application for solving data analysis problems are presented. The problem of identifying the bank-notes depending on various features is considered as an example; this problem was solved by using the tree decision approach.

Текст научной работы на тему «ВВЕДЕНИЕ В АНАЛИЗ ДАННЫХ»

Секция «Прикладная математика»

УДК 519.87

ВВЕДЕНИЕ В АНАЛИЗ ДАННЫХ

Н. В. Ульянов Научный руководитель - Ш. А. Ахмедова

Сибирский федеральный университет Российская Федерация, 660041, г. Красноярск, Свободный пр., 79 корпус 3 E-mail: nik.000.kit@gmail.com

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

Ключевые слова: анализ данных, деревья принятия решений, метод k ближайших соседей, машинное обучение.

INTRODUCTION TO DATA ANALYSIS

N. V. Ulyanov Scientific supervisor - S. A. Ahmedova

Siberian Federal University 79, Svobodny pr., 660041 Krasnoyarsk, Russian Federation E-mail: nik.000.kit@gmail.com

In this paper a short introduction to machine learning and its application for solving data analysis problems are presented. The problem of identifying the bank-notes depending on various features is considered as an example; this problem was solved by using the tree decision approach.

Keywords: data analysis, decision trees, k nearest neighbors, machine learning.

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

Анализ данных - это область математики и информатики, занимающаяся построением и исследованием наиболее общих математических методов и вычислительных алгоритмов с целью извлечения полезной информации из данных и принятия решений [1]. Зачастую в анализе данных прибегают к методам машинного обучения. Машинное обучение - это подраздел искусственного интеллекта, изучающий методы построения алгоритмов, способных обучаться на имеющихся наборах данных [2]. Обучение алгоритмов осуществляется с помощью обучающей выборки или выборки входных данных: обучающая выборка используется для настройки модели под конкретную задачу [3].

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

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

ходе которого испытуемая система принудительно обучается с помощью примеров «стимул-реакция» [4]. Таким образом, имеется обучающая выборка данных с ответами на эти данные, и нужно найти по какой закономерности получаются такие ответы.

Наиболее распространенной задачей обучения с учителем является задача классификации, которую можно описать следующим образом. Предположим, что имеется множество объектов (явлений), разделённых некоторым образом на классы, причем для конечного множества этих объектов известно, к каким классам они относятся. Это конечное множество будет обучающей выборкой. Классовая принадлежность остальных объектов не известна. Требуется построить алгоритм, способный классифицировать произвольный объект из исходного множества [5]. Среди наиболее известных и часто используемых методов классификации отмечают деревья решений и метод ближайших соседей.

Дерево решений (Decision tree) - это эффективный инструмент интеллектуального анализа данных и предсказательной аналитики, представляющий собой иерархическую древовидную структуру, состоящую из правила вида «Если ..., то ...». Деревья решений применяются, если есть множество объектов, описываемых некоторым конечным набором признаков, и для каждого объекта дано значение некоторой неизвестной функции, зависящей от этих признаков. В этом случае задача заключается в проектировании экономичной конструкции, описывающей эту функцию и позволяющей классифицировать новые объекты [6]. Структурой данного алгоритма является дерево: деревьями называются графы, в которых нет циклов даже без учета направления ребер, а листьями называют вершины дерева, из которых не исходит ни одного ребра [6].

Метод ближайших соседей (к Nearest Neighbors) - простейший метрический классификатор, основанный на оценивании сходства объектов. Классифицируемый объект относится к тому классу, которому принадлежат ближайшие к нему объекты обучающей выборки [7].

Для оценки эффективности алгоритмов машинного обучения на независимых данных используется кросс-валидация [8]. В основе метода лежит разделение исходного множества данных на K примерно равных блоков, затем на K-1 блоках производится обучение модели, а пятый блок используется для тестирования. Процедура повторяется K раз, при этом на каждом проходе для проверки выбирается новый блок, а обучение производится на оставшихся блоках [8]. Получаются K оценок качества модели, которые обычно усредняются, выдавая среднюю оценку качества классификации на кросс-валидации.

Рассмотрим следующую задачу классификации: оценка подлинности банкноты в зависимости от четырех различных признаков изображения банкноты. К признакам относятся дисперсия вейвлет-преобразованного изображения, эксцесс изображения, энтропия и асимметрия изображения. Набор данных и полное их описание можно получить по следующим ссылкам соответственно [9] и [10]:

Решим эту задачу с помощью деревьев решений. Для того чтобы определить эффективность алгоритма, следует провести его оценку. Сделать это можно при помощи кросс-валидации на языке python, все записи и вычисления будут вестись в Jupyter Notebook. import pandas as pd import numpy as np

from sklearn.tree import DecisionTreeClassifier

from sklearn.model_selection import KFold

from sklearn.model_selection import cross_val_score

datset = pd.read_table("data_banknote_authentication.txt", ",", header=5, names=["variance", "skewness", "curtosis","entropy", "class"]) datset

X = datset.drop('class', axis=1) Y = datset['class']

Секция «^Прикладная математика»»

Xn = X.to_numpy() Yn = Y.to_numpy() d1 = {}

Для определения, на сколько блоков следует делить данные при обучении, будем варьировать в цикле параметр K, отвечающий за кросс-валидацию, тем самым найдем максимальную среднюю оценку. for K in range(2, 11):

kf = KFold(n_splits=K, shuffle =True, random_state=42) classifier = DecisionTreeClassifler(criterion=MentropyM) quality = cross_val_score(classifier, Xn, Yn, cv=kf, scoring-accuracy') d1[K] = quality.mean() max_val1 = max(d1.values())

final_d1 = {k:v for k, v in d1.items() if v == max_val1} print(final_d1)

Следовательно, в выводе получится: параметр K и максимальная оценка при данном значении K. Для нашего примера получилось: {7: 0.9882858637960679}.

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

1. Habr [Электронный ресурс]. URL: https://habr.com/ru/post/352812/ (дата обращения: 10.02.2022).

2. MachineLearning [Электронный ресурс]. URL: http://www.machinelearning.ru/wiki/ index.php?title=Машинное обучение (дата обращения: 01.03.2022).

3. MachineLearning [Электронный ресурс]. URL: http://www.machinelearning.ru/wiki/ index.php?title=Выборка (дата обращения: 01.03.2022).

4. MachineLearning [Электронный ресурс]. URL: http://www.machinelearning.ru/wikiindex. php?title=Обучение с учителем (дата обращения: 01.03.2022).

5. MachineLearning [Электронный ресурс]. URL: http://www.machinelearning.ru/wiki/ index.php?title=Классификация (дата обращения: 01.03.2022).

6. Николенко. С. И. Самообучающиеся системы. Москва: МЦНМО, 2009, 288с.

7. MachineLearning [Электронный ресурс]. URL: http://www.machinelearning.ru/wiki/ index.php?title=Метод_ближайшего_соседа (дата обращения: 01.03.2022).

8. Loginom [Электронный ресурс]. URL: https://wiki.loginom.ru/articles/cross-validation.html (дата обращения: 01.03.2022).

9. UCI Machine Learning Repository [Электронный ресурс]. URL: https://archive.ics.uci.edu/ ml/datasets/banknote+authentication# (дата обращения 01.03.2022).

10. UCI Machine Learning Repository [Электронный ресурс]. URL: https://archive.ics.uci.edu /ml/machine-learning-databases/00267/ (дата обращения 01.03.2022).

© Ульянов Н. В., 2022

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