ВВЕДЕНИЕ 3
1. ОПИСАНИЕ ВЫБРАННЫХ ДАННЫХ 6
2. ЗАДАЧА КЛАССИФИКАЦИИ ДАННЫХ 7
2.1. Алгоритмы задачи классификации данных 12
2.2. Алгоритмы задачи классификации, используемые в исследовании 14
2.2.1. Алгоритм kNN 14
2.2.2. Дерево решений 15
2.2.3. Линейный дискриминантный анализ 18
2.2.4. Метод опорных векторов 19
3. ЗАДАЧА КЛАСТЕРИЗАЦИИ ДАННЫХ 21
3.1 Алгоритмы задачи кластеризации данных 25
3.2 Алгоритмы задачи кластеризации данных, используемые в исследовании 26
3.2.1 Алгоритм к-средних 26
3.2.3 Иерархический алгоритм. Метод Уорда 27
3.2.2 Иерархический алгоритм. Метод полной связи 27
3.2.4. Иерархический алгоритм. Метод средней связи 28
4. СРАВНЕНИЕ СРЕДСТВ РЕАЛИЗАЦИИ ЗАДАЧ КЛАССИФИКАЦИИ И КЛАСТЕРИЗАЦИИ .... 29
4.1. Язык Python 29
4.2. Язык R 29
4.3. Плюсы и минусы средств реализации задач классификации и кластеризации 30
5. СРАВНЕНИЕ АЛГОРИТМОВ КЛАССИФИКАЦИИ И КЛАСТЕРИЗАЦИИ ДАННЫХ 31
5.1. Алгоритмы классификации данных. Достоинства и недостатки 31
5.2. Алгоритмы кластеризации данных. Достоинства и недостатки 33
5.3 Сравнение временной сложности и пространственной сложности алгоритмов классификации и
кластеризации данных 34
5.4. Сравнение точности алгоритмов, реализованных в пакете R 36
5.4.1. Алгоритмы классификации данных 36
5.4.2. Алгоритмы кластеризации данных 47
5.5. Сравнение результатов реализации алгоритмов на языке Python 52
5.5.1. Алгоритмы классификации данных 52
5.5.2. Алгоритмы кластеризации данных 54
5.5. Итоговое сравнение точности алгоритмов 56
ЗАКЛЮЧЕНИЕ 57
СПИСОК ЛИТЕРАТУРЫ 58
ПРИЛОЖЕНИЕ 59
«Большие данные» - это совокупность методов, инструментов и подходов обработки структурированных и неструктурированных данных для получения результата, приемлемого для дальнейшей обработки и применения.
Примеры больших данных:
-данные о транзакциях клиентов различных банков;
-информация о покупках в Интернете, сети гипермаркетов;
-логи поведения пользователей в Интернете;
-истории болезней пациентов различных клиник и многое другое.
Большими данными занимается «наука о данных».
«Наука о данных» (англ. «data science», встречается и «даталогия» - datalogy) -раздел информатики, занимающийся проблемами больших данных, таких как анализ, обработка, представление данных в цифровой форме.
«Большие данные» - это основа бизнеса и любой науки. Они помогают принимать лучшие решения и стратегические ходы в бизнесе, определить, ядовитый ли гриб или нет, и принимать решения о лучшем лечении и прогнозировать дальнейшее развитие заболевания.
В основе моей работы лежат данные о 569 пациентках с диагнозами «злокачественная» или «доброкачественная» опухоль молочных желез. Особенности опухоли рассчитывались на основе оцифрованного изображения тонкоигольной аспирации.
Тонкоигольная аспирация (тонкоигольная аспирационная биопсия) - метод исследования, при котором с помощью пункционной иглы и шприца производится забор материала из области возникновения аномальной ткани или резервуара с жидкостью.
Рак молочной железы - наиболее распространённая форма рака среди женщин, уносящая жизни от 1/13 до 1/9 женщин практически всех возрастов. По данным экспертов ВОЗ, каждый год диагностируется от 800.000 до 1 миллиона случаев заболевания этим видом рака у женщин и мужчин.
Правильно поставленный диагноз и современное лечение способны продлить жизнь пациента и излечить больного. Поэтому я считаю, что тема моего диплома «сравнение алгоритмов кластеризации данных на примере
Для того, чтобы верно поставить диагноз, можно использовать различные алгоритмы интеллектуального анализа данных. Существуют следующие виды алгоритмов:
-алгоритмы классификации данных осуществляют разбиение на классы данных на основе уже имеющихся данных (обучение с учителем);
-алгоритмы кластеризации данных разделяют на данные кластеры или группы, имеющие схожие свойства (обучение без учителя);
-алгоритмы анализа последовательностей обобщают часто встречающихся в данных последовательности;
-алгоритмы взаимосвязей ищут корреляцию (взаимосвязь двух или более случайных величин) между различными свойствами в наборе данных;
-регрессивные алгоритмы осуществляют прогнозирование непрерывных числовых данных на основе уже имеющихся данных.
В основу исследования легки алгоритмы кластеризации и классификации данных.
Объектом моего исследования являются алгоритмы кластеризации и классификации данных и современные языки программирования.
Предмет исследования - вычислительная и временная сложность алгоритмов классификации и кластеризации данных
Целью исследования является определить наиболее точный, не требующий больших затрат по времени и памяти алгоритм, способный помочь определить на основе уже имеющихся данных, злокачественная или доброкачественная опухоль перед нами. Также мною поставлена цель выяснить, какой из языков - R или Python- является наиболее эффективным и удобным в реализации выбранных мною алгоритмов. Также целью исследования было понять, какое обучение -с учителем или без - является наиболее приемлемым.
Эта цель реализуется с помощью следующих задач:
1) Изучить алгоритмы классификационного и кластеризационного анализа данных
2) Выбрать алгоритмы для исследования
3) Изучить различные языки программирования
4) Выбрать наиболее удобные и современные языки как средство реализации алгоритмов
5) Оценить реализацию выбранных алгоритмов и языков программирования, на которых были запрограммированы алгоритмы
Методы исследования: сравнительный анализ, изучение и реферирование источников по выбранной теме.
Теоретическая значимость моего исследования состоит в определении наиболее точного и удобного алгоритма кластеризации и классификации данных и потенциального языка программирования как средства реализации программы алгоритма.
Практическая значимость: результаты моего исследования помогут
специалистам по data science выбирать наилучшие средства реализации их задумок и исследований.
Основной целью данного исследования являлось выяснить, какой наиболее популярный язык (R или Python) для анализа данных удобен для выполнения нужных целей, какой алгоритм наиболее прост, быстр и точен. Также целью исследования было выяснить, способны ли алгоритмы кластеризации данных хорошо классифицировать данные, уже распределённые на классы.
Лучший инструмент стоит выбирать исходя из того, какую задачу вы поставили. Если нужен простое средство визуализации данных, быстрого сбора информации о модели- то вам подойдёт R. Однако же он уступает в скорости языку Python.
Наиболее точным алгоритмом классификации среди исследуемых стал метод опорных векторов, хоть и он оказался самым дорогостоящим по врменной сложности. Он дал наименьший процент ошибок дала его реализация как в пакете R, так и на Питоне. Среди алгоритмов кластеризации- k-means.
Алгоритмы классификации и кластеризации данных- это два разных вида алгоритмов. Алгоритмы классификации данных справились со своей задачей лучше, нежели алгоритмы кластеризации, предназначенные для выделения кластеров на неизвестной нам выборке.
В ходе исследования мною были проанализированы множество статей про алгоритмы анализа данных, проштудированы сотни страниц с документацией по R и Питону, а также была усвоена и систематизирована вся полученная информация.
Данное исследование призвано помочь изучающим анализ данных, а также медикам в их работе.
I. Интернет-ресурсы:
1. https://ranalytics.github.io/data-mining/index.html/ -Классификация,
регрессия и другие алгоритмы Data Mining с использованием R/Шитиков В. К., Мастицкий С. Э.
2. https://habrahabr.ru/ - Хабрахабр
3. http: //sntbul .bmstu.ru/ - Электронный журнал «Научно-технический вестник»
4. http://www.intuit.ru/ - Национальный открытый университет «Интуит»
5. http: //scikit-learn. org/stable/index.html - Документация для пакета scikit- learn языка Python
6. https://basegroup.ru/ - Сайт, компании «BaseGroup labs»
7. https://stat.ethz.ch/R-manual/ - Документация языка R
8. https: //ru.wikipedia. org/wiki/- Свободная энциклопедия Википедия
II. Статьи и электронные лекции
1. http://www.tsi.lv/sites/default/files/editor/science/Research journals/Tr Tel/20 03/V1/yatskiv gousarova.pdf - Методы определения кластеров при классификации без учителя / Ирина Яцкив, Лада Гусарова
2. http://www.ccas.ru/voron/download/Clustering.pdf -Лекции по алгоритмам кластеризации и методам шкалирования/ К.В.Воронцов
3. http://www.ccas.ru/voron/download/SVM.pdf -«Лекции по методу опорных векторов» / К.В.Воронцов