Аннотация 2
Перечень условных обозначений и сокращений 8
Введение 9
1 Обзор предметной области 13
1.1 Методы обработки пропущенных значений 15
1.2 Обзор методов машинного обучения с учителем 22
1.2.1 Постановка задачи классификации 22
1.2.2 Постановка задачи регрессии 23
1.2.3 Основные методы обучения с учителем 23
1.2.4 Оценка качества классификации и регрессии 31
1.2.5 Способы борьбы с переобучением 34
1.3 Подходы к оценке качества работы методов восстановления пропущенных
значений 35
1.4 Выводы по главе 36
2 Предложенный алгоритм 38
2.1 Особенности реализации алгоритма вменения пропущенных значений... 38
2.2 Выводы по главе 41
3 Экспериментальные исследования 43
3.1 Характеристики исходных данных 43
3.2 Инструментарий для исследования 44
3.3 Оценка методов восстановления пропущенных значений 45
3.4 Результаты исследований 46
3.5 Выводы по главе 49
Заключение 51
Список использованных источников и литературы 52
Методы интеллектуального анализа данных выделились в отдельную отрасль прикладного искусственного интеллекта в 1960-м году. За прошедшие десятилетия произошло несколько важных прорывов в области инновационных компьютерных системах, что привело к бурному развитию и распространению данного направления. Интеллектуальный анализ данных позволяет искать ценную информацию в больших объемах данных [1].
Одним из основных разделов интеллектуального анализа данных является машинное обучение. Основной задачей в рамках машинного обучения является создание предсказательных моделей для решения прикладных задач в различных сферах человеческой деятельности, например, банковской сферы, индустриальной аналитики или ранней диагностики заболеваний [2].
Однако зачастую возникает проблема репрезентативности данных, которая неизбежна при сборе и анализе. Репрезентативность данных снижается за счет пропущенных значений, шума и человеческого фактора при сборе информации. Процесс, направленный на решение обозначенной проблемы, называется предварительная обработка данных [3, 4].
Распространенной проблемой, которую необходимо решить с помощью предварительной обработки данных, является обработка пропущенных значений [5, 6]. Данная проблема распространена повсеместно в различных предметных областях. Существуют методы машинного обучения, позволяющие создавать предсказательные модели, несмотря на наличие пропущенных значений в данных, например, некоторые алгоритмы градиентного бустинга. С другой стороны, существуют методы, такие как нейронные сети и k-ближайших соседа, которые требуют осторожного обращения с неполной информацией. Однако методы способные создавать предсказательные модели, не смотря на пропущенные значения, хотя и являются неплохим решениям, всё же чаще всего в таком случае внутри алгоритма модели используется один из простых методов вменения пропущенных значений. Данный аспект может значительно снизить эффективность построенной модели. Другим не мало важным аспектом является многогранность интеллектуального анализа данных, и он не сводится только лишь к построению предсказательных моделей и в таком случае проблема пропущенных значений никуда не уходит и требует решения [7].
На данный момент подавляющее большинство методов вменения пропущенных значений обрабатывают наборы данных содержащие только количественные переменные. Ситуация, когда в наборе данных содержатся признаки смешанного типа, как количественные, так и качественные, встречается повсеместно в различных задачах широкого спектра предметных областей. Чаще всего исследователи в данной ситуации прибегают к раздельному вменению пропущенных значений для каждого типа признаков. Однако, такой подход игнорируют возможные отношения между типами переменных.
В связи с этим возникает проблема эффективного вменения пропущенных значений для данных, содержащих одновременно как количественные, так и качественные переменные.
В данной работе рассматривается проблема недостаточной изученности вменения пропущенных значений в наборах данных, содержащих признаки смешанного типа. Объектом исследования является процесс вменения пропущенных значений в наборах данных, содержащих признаки смешанного типа. Предметом исследования являются различные методы вменения пропущенных значений.
Таким образом, целью работы является повышение качества восстановления пропущенных значений в наборах данных, содержащих признаки смешанного типа, путем модификации существующих алгоритмов.
Для достижения поставленной цели, в работе необходимо решить следующие задачи:
1. Изучение научных статей и литературы, посвящённых вменению пропущенных значений и способах оценки качества вменения пропущенных значений.
2. Выявление наиболее эффективных алгоритмов вменения пропущенных значений, основанных на различном математическом аппарате.
3. Выявление эффективных способов оценки качества вменения пропущенных значений для различных типов данных.
4. Реализация собственного алгоритма или модификация существующего с целью создания алгоритма, позволяющего эффективно обрабатывать наборы данных, содержащие признаки смешанного типа.
5. Проведение экспериментов с различными алгоритмами восстановления пропущенных значений с целью объективной оценки предложенного в рамках исследования алгоритма, оценка и интерпретация полученных результатов.
При проведении исследований использовались следующие методы: анализ литературных источников по предварительной обработке данных, восстановлению пропущенных значений, методам оценки качества восстановления пропущенных значений и обобщение полученной информации, анализ методов машинного обучения с учителем и способам оценки качества их работы, проведение экспериментов по сравнению эффективности работы различных методов вменения пропущенных значений, визуализация и интерпретация полученных результатов.
Научной новизной обладают следующие результаты исследования: предложенный алгоритм восстановления пропущенных значений, позволяющий эффективно обрабатывать наборы данных, содержащие признаки смешанного типа, основанный на использовании различных методов машинного обучения с учителем и рекомендациях исследований в области применения методов машинного обучения в данной области.
Практическая значимость исследования: реализована программная библиотека на языке Python, содержащая предложенный алгоритм восстановления пропущенных значений, предоставляющая удобное API для внедрения данного алгоритма в процесс интеллектуального анализа данных.
Основная часть выпускной квалификационной работы состоит из трех разделов: в первом разделе рассматривается обзор литературы по восстановлению пропущенных значений и методам машинного обучения и способам оценки качества их работы; во втором разделе располагается описание предложенного алгоритма восстановления пропущенных значений; в третьем разделе описываются экспериментальные исследования, проведенные с целью оценки эффективности предложенного алгоритма в сравнение с аналогами.
В данной выпускной квалификационной работе решалась проблема недостаточной изученности восстановления пропущенных значений в наборах данных, содержащих признаки смешанного типа.
Основными результатами работы являются:
- Рассмотрены и изучены различные методы восстановления пропущенных значений, методы машинного обучения для классификации и регрессии, а также способы оценки их работы, выделены их плюсы и минусы.
- Проведено комплексное исследование на реальных данных, реализованы несколько модификаций базового алгоритма восстановления пропущенных значений.
В результате экспериментов продемонстрированно превосходство предложенных модификаций базового алгоритма в задаче восстановления пропущенных значений в наборах данных, содержащих признаки смешанного типа.
1. Han J., Kamber M. Data Mining Concepts and Techniques. Morgan Kaufmann 2001.
2. Pyle, D. Data Preparation for Data Mining. Morgan Kaufmann Publishers Inc. San Francisco, CA, USA 1999. ISBN:1558605290 9781558605299
3. Witten, I. H., Frank, E., Hall, M. A., et. all. Data Mining: Practical Machine Learning Tools and Techniques. Elsevier; 2011. http://dx.doi.org/10.1016/c2009-0-19715-5
4. Pearson, R. K. Mining Imperfect Data: Dealing with Contamination and Incomplete Records. SIAM 2005.
5. Garcia S., Luengo J., Herrera F. Data Preprocessing in Data Mining. Intelligent Systems Reference Library 2015. https://doi.org/10.1007/978-3-319- 10247-4
6. Farhangfar A., Kurgan L., Pedrycz W. A novel framework for imputation
of missing values in databases. IEEE Transactions on Systems, Man, and Cybernetics Part A: Systems and Humans 2007; 37(5): 692-709.
https://doi.org/10.1109/tsmca.2007.902631
7. Padgett C. R., Skilbeck C. E., Summers M. J. Missing data: the importance and impact of missing data from clinical research. Brain Impairment 2014; 15(1): 1-9. https://doi.org/10.1017/brimp.2014.2
8. Rubin D.B. Inference and missing data. Biometrika 1976; 63(3): 581¬592, https://doi.org/10.2307/2335739
9. Efromovich S. Nonparametric regression with missing data. Wiley Interdisciplinary Reviews: Computational Statistics 2014; 6(4): 265-275. https://doi.org/10.1002/wics.1303
10. Van Buuren S. Multiple imputation of discrete and continuous data by fully conditional specification, Statistical methods in medical research 2007; 16(3): 219-242. https://doi.org/10.1177/0962280206074463
11. Zloba E., Yatskiv I. Statistical methods of reproducing of missed data. Computer modelling and new technologies 2002; 6(1): 51-61.
12. Zliobaite I., Hollmen J. Optimizing regression models for data streams
with missing values. Machine learning 2015; 99(1): 47-73,
https://doi.org/10.1007/s10994-014-5450-3
13. Troyanskaya O., Cantor M., Sherlock G., Brown P., Hastie T., Tibshirani R., et al. Missing value estimation methods for DNA microarrays. Bioinformatics 2001; 17(6): 520-525, https://doi.org/10.1093/bioinformatics/17.6.520
14. Tutz G., Ramzan S. Improved methods for the imputation of missing data by nearest neighbor methods. Computational statistics & data analysis 2014; 90: 84¬99, https://doi.org/10.1016/j.csda.2015.04.009
15. Stekhoven D. J., Buhlmann P. MissForest—non-parametric missing value imputation formixed-type data, Bioinformatics 2011; 28(1): 112-118, https://doi.org/10.1093/bioinformatics/btr597... 38