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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
63
вычислительным или временным ресурсам. Поэтому на выборках большого
объема принято выполнять разбиение на небольшое количество блоков.
Следует учитывать, что данные, предоставленные для построения модели,
могут быть отсортированы по какому-либо признаку, что отрицательно
сказывается на обучении. Поэтому перед разбиением данных необходимо
провести их перемешивание.
Другим методом выявления переобучения является оценка меры
сложности модели. Переобученные модели отличаются большими
коэффициентами весов при признаках (например, вследствие
мультиколлинеарности признаков). [10] Для борьбы с данным явлением
применяется регуляризация. При этом, при обучении модели минимизируется
новый функционал, получаемые суммированием функционала ошибки и
регуляризатора.
В данном выражении λ — коэффициент регуляризации. Это
гиперпараметр, значение которого подбирается эмпирически в ходе обучения
модели. [13] Сложность модели при этом обратно пропорциональна величине
коэффициента регуляризации. Подобный квадратичный регуляризатор,
именуемый L
2
-регуляризатором, обладает свойствами выпуклости и гладкости,
что позволяет использовать метод градиентного спуска в ходе оптимизации
функционала.
Кроме того, на практике применяется L
1
-регуляризатор:
Этот регуляризатор не является гладким, что препятствует применению
градиентных методов оптимизации. Однако, весовые коэффициенты
неинформативных признаков, при его применении, становятся равными нулю.
64
Применение подобного регуляризатора позволяет проводить отбор признаков.
Кроме того, модель, использующая L
1
-регуляризацию, менее подвержена
влиянию «выбросов» в ходе обучения.
Модель логистической регрессии, применяемая в данной работе, по
умолчанию использует L
2
-регуляризатор.
При использовании отложенной выборки для оценки качества следует
учитывать тот факт, что существует угроза переобучения модели на ней,
поскольку из всего семейства алгоритмов отбирается тот, который предоставляет
на ней лучшую оценку качества. Для избежания подобного эффекта рационально
использовать усложненную модель разбиения.
В случае использования отложенной выборки разбиение выполняется на
три части: обучающую, валидационную и контрольную. Каждый алгоритм,
подготовленный на основе обучающей выборки, проходит оценку качества на
валидационной. Алгоритм, показавший наилучшие оценки качества,
проверяется на контрольной выборке во избежание явления переобучения на
валидационной выборке.
При использовании стратегии кросс-валидации целесообразно проводить
разбиение на две части, первая из которых применяется для обучения
алгоритмов и усредненной оценки качества, вторая используется в качестве
контрольной. Для применения стратегии кросс-валидации необходимо
импортировать соответствующие модули библиотеки Scikit-Learn:
cross_validation и cross_validate (рис 20). Кроме того, необходимо импортировать
модуль linear_model, непосредственно для построения линейной модели, а также
модуль metrics для оценки качества алгоритмов.
Рис. 20. Импорт библиотек, необходимых для построения и оценки линейной модели
Следующим этапом выполняется разбиение выборки на обучающую и
контрольную выборку в соотношении 0.7/0.3 (рис. 21):
65
Рис. 21. Разбиение выборки на обучающую и контрольную части
Дальнейший шаг - создание объекта классификатора. В качестве модели
классификации применяется логистическая регрессия с параметрами по
умолчанию (Рис. 22).
Рис. 22 Создание объекта классификатора
3.6. Метрики качества
Для всесторонней оценки полученной модели классификации
применяются разнообразные метрики качества. Рассмотрим основные из них.
Наиболее естественной и простой оценкой качества классификатора является
доля правильных ответов, который он предоставляет на тестовой выборке
(accuracy):
где a - алгоритм, X - множество объектов, a(x
i
) - ответ, предоставляемый
алгоритмом на объекте x
i
; y
i -
правильный ответ о принадлежности к классу
объекта x
i
; l - количество объектов в множестве X. [3]
Данная метрика отличается простотой интерпретации и реализации,
однако имеет ряд существенных недостатков, препятствующих объективной
оценке модели посредством только этого показателя.
Одна из проблем связана с применением несбалансированных выборок, в
которых доля объектов, принадлежащих к одному из классов, на порядки меньше
чем доля другого класса (для случаев бинарной классификации). При этом
классификатор, предоставляющий константный, либо преимущественный ответ
66
о принадлежности нового объекта к большему классу, может обладать высоким
уровнем критерия accuracy, что создает ложной впечатление о его высоком
качестве. Во избежание подобной ошибки принимают, что для рациональных
алгоритмов показатель доля правильных ответов принадлежит интервалу [a; 1],
где a - доля объектов большего класса в тестовой выборке.
Другая проблема, связанный с применением данной метрики заключается
в том, что она не учитывает разные цены стоимости различных типов ошибок
классификации там, где это требуется. Чтобы нивелировать данный недостаток
при оценке качества алгоритма используют дополнительные метрики: точность
(precision) и полноту (recall). [10]
Для получения данных оценок целесообразно предварительное построение
матрицы ошибок (рис. 23).
Рис.23. Матрица ошибок
В данной матрице в столбцы указывают на действительное отношение к
положительному, либо отрицательному классу. Строки указывают на ответ,
предоставленный алгоритмом.
При этом в соответствующих ячейках находятся следующие оценки:
количество верно классифицированных объектов положительного класса (иначе
это называют «срабатыванием алгоритма» - True Positive), количество верно
классифицированных объектов отрицательного класса (иначе определяют как
«пропуск объекта» - True Negative), количество ложно классифицированных
объектов отрицательного класса («ложное срабатывание» - False Positive),
количество ложно классифицированных объектов положительного класса
(«ложный пропуск» - False Negative).
Таким образом для алгоритма вводятся два новых вида ошибки — ложное
срабатывание и ложный пропуск. Каждый из них может быть оценен
67
соответствующей метрикой качества. Точность (precision) определяет степень
доверия к классификатору в случае срабатывания:
где a - применяемый алгоритм, X - множество объектов тестовой выборки,
TP - количество верно классифицированных объектов положительного класса,
FP - количество ложно классифицированных объектов отрицательного класса.
Полнота (recall) позволяет оценить, какую долю объектов, принадлежащих
к положительному классу, способен выявить применяемый алгоритм.
где a - применяемый алгоритм, X - множество объектов тестовой выборки,
TP - количество верно классифицированных объектов положительного класса,
FN - количество ложно классифицированных объектов положительного класса.
Для выполнения оценки полученной модели с помощью перечисленный
метрик воспользуемся стратегией кросс-валидации (рис. 24).
Рис. 24. Оценка основных метрик качества полученной модели
Оценим предсказательную способность классификатора с применением
отложенной контрольной выборки (рис. 25).
68
Рис.25 Получение оценок принадлежности к классу на основе тестовой выборки
Поскольку в качестве классификатора применяется модель логистической
регрессии, то помимо непосредственно предсказания класса, мы можем
получить вероятность отношения каждого из объектов к тому или иному классу.
На основе полученных предсказаний построим матрицу ошибок (рис. 26).
Рис.26. Матрица ошибок применяемого классификатора
Кроме того, мы можем получить оценки на основе перечисленных выше
метрик качества отдельно для каждого из классов. Поскольку принципиальным
моментом является способность модели относить людей к группе риска
(„stroke“ == 1), оценим характеристики модели на основе первого класса.
Выполним оценку параметра точности отнесения объекта к группе риска
(рис. 27)
Рис. 27. Точность отнесения объекта к группе риска
Схожим образом проведем оценку полноты классификации объекта в
группу риска (рис. 28).
Рис.28. Оценка полноты классификации объекта в группу риска
69
Наравне с точностью и полнотой целесообразно использовать
интегративную оценку алгоритма, которая сможет использовать оба этих
показателя.
Подобной метрикой является F-мера:
Для выполнения расчета F-меры применяется соответствующий метод
модуля metrics (рис. 29):
Рис. 29 Расчет F-меры для объектов первого класса
При необходимости предпочтительной оценки алгоритма с точки зрения
точности или полноты можно использовать усложненную формулу F-меры, с
применением коэффициента β:
При выборе величины β меньше единицы более высокую оценку получает
алгоритм с лучшей метрикой полноты. При β больше единицы предпочтение
отдается точности. [13]
Кроме того, модуль metrics позволяет получить сводную таблицу метрик
качества (рис. 30).
Рис. 30 Сводная таблица метрик качества
Классификатор, построенный на основе модели логистической регрессии,
в случае решения задачи бинарной классификации предоставляет ответ в виде
двумерного вектора, значения которого указывают на вероятность
70
принадлежности объекта к каждому из классов. Это позволяет установить
некоторый порог t, на основании которого алгоритм принимает окончательное
решение о принадлежности объекта к данному классу:
где b(x) - оценка принадлежности к классу.
В результате возникает необходимость метрики качества оценки
принадлежности к классу.
Одной из метрик, позволяющих провести оценку модели в целом, не
привязываясь к конкретному порогу, является AUC-ROC - площадь (Area Under
Curve) под кривой ошибок (Recivier Operating Characteristic curve). Данная кривая
представляет собой линию от (0,0) до (1,1), расположенную в системе координат
True Positive Rate и False Positive Rate.
Идеальный классификатор, не совершающий ошибок и имеющий,
соответственно, показатели True Positive Rate = 1 и False Positive Rate = 0, будет
иметь площадь под кривой равной единице. Площадь модели, предоставляющей
вероятности классов случайным образом, будет стремиться к 0.5, вследствие
того, что классификатор будет выдавать равное количество True Positive и False
Positive.
Каждая точка на графике соответствует выбору некоторого порога
вероятности принадлежности к классу. При этом площадь кривой прямо
пропорциональна качеству алгоритма. Кроме того, важной характеристикой
является крутизна кривой — для идеального алгоритма она проходит через точку
(0,1).
Данная метрика устойчива к дисбалансу классов и может быть
интерпретирована следующим образом: это вероятность того, случайно взятый
объект положительного класса получит оценку принадлежности к нему выше,
чем случайно взятый объект отрицательного класса. [10]
Построение ROC-кривой можно выполнить с применением библиотеки
MatPlotLib (рис. 31).
71
Рис.31. Применение библиотеки MatPlotLib для построения ROC-кривой
В результате выполнения данного кода в среде Jupyter Notebook будет
построен следуюущий график (рис. 32):
Рис 32. ROC-кривая классификатора на основе логистической регрессии
На данном графике пунктиром обозначена ROC-кривая классификатора,
предоставляющего случайный ответ на объекте.
Для расчета площади под ROC-кривой применяется метод roc_auc_score
из модуля metrics (рис. 33).
Рис. 33. Площадь ROC-кривой для классификатора на основе логистической регрессии
Другим способом оценки принадлежности к классу является построение
кривой точности-полноты и вычисление площади под ней. При этом по оси
абсцисс откладывается полнота, а по оси ординат — точность. Каждой точке
72
кривой соответствуют параметры классификатора с некоторым,
последовательным, значением порога.
Данная кривая всегда начинается из точки (0,0), а заканчивается в точке (1,
a), где a - доля объектов положительного класса.
Кривая идеального классификатора будет проходить через точку (1,1), то
есть для этой модели будет существовать порог, когда и точность, и полнота
составляют 100%. Следовательно, чем ближе от этой точки пройдет кривая, тем
оптимальнее представленный алгоритм. [10]
Также оценкой классификатора может выступать площадь под данной
кривой, именуемая PR-AUC. Ее величина прямо пропорциональна качеству
алгоритма.
Для расчета и построения кривой точности-полноты используется функция
precision_recall_curve из модуля metrics (рис.34).
Рис. 34. Расчет и построение кривой точности-полноты
Построенный график имеет следующий вид (рис. 35).
Рис.35. Кривая точности-полноты
Для оценки качества алгоритма на основе кривой точности-полноты
можно воспользоваться метрикой «средний показатель точности». Она
отличается от вычисления области под кривой точности-полноты с помощью

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран