Введение 6
1 Моделирование процесса разработки систем анализа данных 8
1.1 Функциональное моделирование 8
2 Разработка подходя для сравнения эффективности алгоритмов машинного
обучения 15
2.1 Задача классификации 15
2.2 Показатели точности классификаторов 16
2.3 Визуализация результатов обучения и работы классификаторов 21
2.3 Планирование вычислительных экспериментов 27
2.4 Набор данных для тестирования предложенного подхода 29
3 Разработанное программное обеспечение для сравнения методов
построения классификаторов 32
3.1 Особенности разработанного программного обеспечений 32
3.2 Тестирования программного обеспечения на медицинских данных 38
Заключение 44
Список используемой литературы 46
Алгоритмы машинного обучения за последние время все чаще стали использоваться для решения практических задач из различных областей. В медицине, например, по данным химического анализа крови осуществляется классификация заболевания пациента (стоит отметить, что заключительный диагноз ставит врач после подтверждения анализов). В сфере бизнеса с помощью алгоритмов машинного обучения строятся классификаторы для оценки лояльности клиентов (любая компания стремиться сохранить лояльных клиентов).
Однако с развитием машинного обучения появляется все больше алгоритмов для классификации данных, основанных на разных математических принципах. Понятия «алгоритм классификации» и «метод классификации» являются идентичными. Перечислим наиболее известные алгоритмы для получения бинарных классификаторов: Logistic Regression (логистическая регрессия), Ada Boost Classifier (метод AdaBoost), Linear Discriminant Analysis (линейный дискриминантный анализ), Ridge Classifier (классификатор Ridge), Gradient Boosting Classifier (градиентный бустинг), Extra Trees Classifier, Random Forest Classifier (случайный лес), Light Gradient Boosting Machine, K Neighbors Classifier (K ближайших соседей), Decision Tree Classifier (деревья решений), Naive Bayes (наивный байесовский классификатор), SVM - Linear Kernel (метод опорных векторов), Quadratic Discriminant Analysis (квадратичный дискриминантный анализ).
Проблема заключается в том, что заранее никогда не известно, какой из алгоритмов, покажет лучшие результаты на анализируемом наборе данных при обучении бинарного классификатора. Например, некоторые алгоритмы не могут продемонстрировать приемлемых результатов, если в исходной выборке данных присутствуют выбросы (аномальные значения числовых признаков). Другие алгоритмы чувствительны к размеру обучающей выборки.
Для преодоления данной проблемы предложено разработать программное обеспечение для тестирования работы всех описанных выше алгоритмов на загруженных пользователем данных. По результатам тестирования программное обеспечение должно определять алгоритм, позволяющий получить наиболее точный классификатор на имеющихся данных.
Таким образом, цель работы - разработка программного обеспечения для сравнения эффективности применения различных алгоритмов машинного обучения на выбранных пользователем данных.
Для достижения поставленной цели в работе решаются следующие задачи:
1. Анализ процесса разработки программного обеспечения для классификации данных, основанного на алгоритмах машинного обучения.
2. Разработка подхода для сравнения эффективности алгоритмов машинного обучения на заданной выборке данных.
3. Разработка программного обеспечения для сравнительного анализа алгоритмов бинарной классификации.
4. Тестирование программного обеспечения на медицинских данных из открытого репозитория.
На основании проведенных исследований были сделаны следующие выводы:
С развитием машинного обучения появляется все больше различных алгоритмов построение классификаторов, основанных на разных математических принципах. При этом заранее не известно, какой из алгоритмов обеспечит построение (обучение) наилучшей модели, наиболее точно описывающей имеющиеся данные. Поэтому актуальной проблемой является разработка программного обеспечения для автоматизации поиска наилучшего метода построения модели (бинарного классификатора).
Описан подход для определения лучшего метода построения классификатора для выбранных исходных данных. Данный подход включает в себя: разделение исходных данных на 10 приблизительно равных не пересекающихся множеств; проведение для каждого метода построения классификатора 10 вычислительных экспериментов, в которых по очереди 1 множество выступает в роли тестовой выборки данных, а остальные множества в роли тренировочного набора данных; расчет на основе вычислительных экспериментов для каждого метода средних показателей точности (Accuracy, Recall, Precision, Flscore, Kappa}и объединение их в сводную таблицу.
Для упрощения сравнения эффективности различных классификаторов предложено использование следующих средств визуализации: график ROC, график Precision-Recall, визуальная интерпретация матрицы ошибок, столбчатая диаграмма ошибок классификации и визуальная интерпретация матрицы точностных показателей классификатора.
На языке Python разработано программное обеспечение для сравнения эффективности методов построения классификаторов на выбираемом пользователем наборе данных. При этом реализована поддержка следующих методов: Logistic Regression (логистическая регрессия), Ada Boost Classifier (метод AdaBoost), Linear Discriminant Analysis (линейный дискриминантный анализ), Ridge Classifier (классификатор Ridge), Gradient Boosting Classifier (градиентный бустинг), Extra Trees Classifier, Random Forest Classifier (случайный лес), Light Gradient Boosting Machine, K Neighbors Classifier (K ближайших соседей), Decision Tree Classifier (деревья решений), Naive Bayes (наивный байесовский классификатор), SVM - Linear Kernel (метод опорных векторов), Quadratic Discriminant Analysis (квадратичный дискриминантный анализ).
На имеющемся наборе медицинских данных по диагнозам диабета, состоящем из 769 записей наилучшим методом построения бинарного классификатора оказался - Gradient Boosting Classifier. Точностные показатели классификатора, определенные на тестовой выборке данных : Accuracy=0.7726, AUC=0.8259, Recall=0.6705, Precision=0.7074, F1score=0.6827, Kappa=0.5063, MCC=0.5121.
Таким образом, все поставленные в работе задачи выполнены, и цель достигнута.
1. Болодурина, И.П. Разработка модели классификации потоков данных программно-управляемой инфраструктуры виртуального центра обработки данных / И.П. Болодурина, Д.И. Парфенов // Информационные технологии моделирования и управления. №2, 2017. - ООО "Издательство "Научная книга" (Воронеж), 2017. - с. 151-159. - Текст : непосредственный.
2. Бутакова, М.А. Классификация потоков данных и метод статистического моделирования в системах и сетях телекоммуникаций на транспорте / М.А. Бутакова // Вестник ростовского государственного университета путей сообщения. №2, 2005. - Ростовский государственный университет путей сообщения (Ростов-на-Дону), 2005. - с. 38-43. - Текст : непосредственный.
3. Власов, А.В. Машинное обучение применительно к задаче
классификации семян зерновых культур в видеопотоке / А.В. Власов, А.С. Федеев // Молодежь и современные информационные технологии - сборник трудов XIV Международной научно-практической конференции студентов, аспирантов и молодых учёных, 07-11 ноября 2016. - Национальный
исследовательский Томский политехнический университет (Томск), 2016. - с. 133-135. - Текст : непосредственный.
4. Жуков, Д.А. Формирование контрольных выборок при технической диагностике объекта с применением машинного обучения / Д.А. Жуков, А.С. Хорева, Ю.Е. Кувайскова, В.Н. Клячкин // Математические методы и модели: теория, приложения и роль в образовании - международная научно-техническая конференция : сборник научных трудов, 28-30 апреля 2016 года. - Ульяновский государственный технический университет (Ульяновск), 2016. - с. 44-48. - Текст : непосредственный.
5. Иванников Ю.Ю. Применение методов машинного обучения для выявления бот-трафика среди запросов к веб-приложению / Ю.Ю. Иванников, Е.Ю. Митрофанова // Сборник студенческих научных работ факультета компьютерных наук ВГУ, Факультет компьютерных наук, 2017. - ФГБОУ ВО «Воронежский государственный университет», 2017. - с. 119¬123. - Текст : непосредственный.
6. Клячин В.Н. Использование агрегированных классификаторов
при технической диагностике на базе машинного обучения / В.Н. Клячин, Ю.Е. Кувайскова, Д.А. Жуков // Информационные технологии и нанотехнологии (ИТНТ-2017) - сборник трудов III международной
конференции и молодежной школы. Самарский национальный исследовательский университет имени академика С.П. Королева. 2017. - Предприятие "Новая техника" (Самара), 2017. - с. 1770-1773. - Текст : непосредственный.
7. Кононова, Н.В. Исследование подсистемы контентной
фильтрации с использованием методов машинного обучения / Н.В. Кононова, Ю.А. Андрусенко, Т.А. Самокаева // Студенческая наука для развития информационного общества - сборник материалов VI Всероссийской научно-технической конференции. 22-26 мая 2017. - Северо-Кавказский федеральный университет (Ставрополь), 2017. - с. 268-270. - Текст :
непосредственный.
8. Малинин, П.В. Иерархический подход в задаче идентификации личности по голосу c помощью проекционных методов классификации многомерных данных / П.В. Малинин, В.В. Поляков // Доклады томского государственного университета систем управления и радиоэлектроники. №21, 2010. - Томский государственный университет систем управления и радиоэлектроники (Томск), 2010. - с. 128-130. - Текст : непосредственный.
9. Мелдебай, М.А. Анализ мнений покупателей на основе
машинного обучения / М.А. Мелдебай, А.К. Сарбасова // Прикладная математика и информатика: современные исследования в области
естественных и технических наук - материалы III научно-практической всероссийской конференции (школы-семинара) молодых ученых. 24-25 апреля 2017 года. - Издатель Качалин Александр Васильевич, 2017. - с. 360¬363. - Текст : непосредственный.
10. Наумов, Д.П. Регулятор CAP на основе машинного обучения /
Д.П. Наумов, Д.П. Стариков // Информационные технологии в управлении, автоматизации и мехатронике - сборник научных трудов Международной научно-технической конференции. 06-07 апреля 2017 года. - ЗАО "Университетская книга" (Курск), 2017. - с. 106-114. - Текст :
непосредственный.
11. Осколков, В.М. Использование метода машинного обучения для
повышения продуктивности на предприятии / В.М. Осколков, Н.И. Шаханов, И.А. Варфоломеев, О.В. Юдина, Е.В. Ершов // Автоматизация и энергосбережение машиностроительного и металлургического производств, технология и надежность машин, приборов и оборудования - материалы XII Международной научно-технической конференции, 21 марта 2017. -
Вологодский государственный университет (Вологда), 2017. - с. 177-180. - Текст : непосредственный.
12. Осколков, В.М. Применение параллельных вычислений для прогнозирования на основе алгоритма машинного обучения Random Forest / В.М. Осколков, Н.И. Шаханов, И.А. Варфоломеев, О.В. Юдина, Л.Н. Виноградова, Е.В. Ершов // Сборник трудов конференции Оптико¬электронные приборы и устройства в системах распознавания образов, обработки изображений и символьной информации. Распознавание, Курск, 16-19 мая 2017 года. - Юго-Западный государственный университет (Курск), 2017. - с. 267-269. - Текст : непосредственный.
13. Рагимов Э.Р. Классификация угроз по сервисам безопасности на основе статистических данных / Э.Р. Рагимов // Информационное противодействие угрозам терроризма. №5, 2005. - Технологический институт Федерального государственного образовательного учреждения высшего профессионального образования "Южный федеральный университет", 2005.
- с. 87-92. - Текст : непосредственный.
14. Соловьев, А.Ю. Применение машинного обучения для
прогнозирования неблагоприятных исходов в ургентной хирургии / Соловьев А.Ю., Берегов М.М., Вахеева Ю.М., Баутин А.Н., Гусев А.В. // Медико-биологические, клинические и социальные вопросы здоровья и патологии человека - материалы III Всероссийской образовательно-научной конференции студентов и молодых ученых с международным участием в рамках XIII областного фестиваля "Молодые ученые - развитию Ивановской области". 2017. - Ивановская государственная медицинская академия
(Иваново), 2017. - с. 129-130. - Текст : непосредственный.
15. Ткач, Т.Ч. Машинное обучение и обработка больших данных - обучение в основной и средней школе / Т.Ч. Ткач // Актуальные проблемы методики обучения информатике и математике в современной школе - материалы международной научно-практической интернет-конференции. Московский педагогический государственный университет, Москва, 24 апреля 2020 года. - Московский педагогический государственный университет (Москва), 2020. - с. 217-223. - Текст : непосредственный.
16. Федотов, И.А. Применение технологий машинного обучения для
прогнозирования ситуации на финансовых рынках / И.А. Федотов // Студенческая наука для развития информационного общества - сборник материалов VI Всероссийской научно-технической конференции. 22-26 мая 2017. - Северо-Кавказский федеральный университет (Ставрополь), 2017. -
с. 361-363. - Текст : непосредственный.
17. Френкель, Ф.Е. Классификация триплетной периодичности последовательностей ДНК генов, собранных в банке данных KEGG / Ф.Е. Френкель, Е.В. Коротков // Молекулярная биология. №4, 2008. - Российская академия наук (Москва), 2008. - с. 707-720. - Текст : непосредственный.
18. Jiang, S. A Combined Classification Algorithm Based on C4.5 and NB / ShengYi Jiang, Wen Yu // International Symposium on Intelligence Computation and Applications - Third International Symposium, ISICA 2008 Wuhan, China, December 19-21, 2008. Proceedings: Advances in Computation and Intelligence. - Springer-Verlag Berlin Heidelberg 2008. - pp. 350-359. - Текст : непосредственный.
19. Kong, X. Principal Component Analysis Networks and Algorithms / Xiangyu Kong, Changhua Hu, Zhansheng Duan. - Springer Singapore, 2017 - 323 p. - Текст : непосредственный.
20. Liu, J. Radial Basis Function (RBF) Neural Network Control for Mechanical Systems: Design, Analysis and Matlab Simulation. - Springer Berlin Heidelberg, 2014 - 365 p. - Текст : непосредственный.
21. Min, F. A Competition Strategy to Cost-Sensitive Decision Trees / Fan Min, William Zhu // International Conference on Rough Sets and Knowledge Technology - 7th International Conference, RSKT 2012, Chengdu, China, August 17-20, 2012. Proceedings: Rough Sets and Knowledge Technology. - Springer-Verlag Berlin Heidelberg 2012. - pp. 359-368. - Текст : непосредственный.
22. Silva, I.N. Artificial Neural Networks: A Practicle course / Ivan Nunes da Silva, Danilo Hernane Spatti, Rogerio Andrade Flauzino, Luisa Helena Bartocci Liboni, Silas Franco dos Reis Alves. - Springer International Publishing, 2017 - 307 p. - Текст : непосредственный.