Введение

Внимание!

Если вам нужна помощь с работой, то рекомендуем обратиться к профессионалам. Более 70 000 экспертов готовы помочь вам прямо сейчас.

Подробнее Гарантии Отзывы

В настоящее время, согласно данным Всемирной Организации Здравоохраненения, 422 миллиона человек в мире страдают от сахарного диабета. Также ежегодно от данного заболевания умирают 1,5 миллиона человек, более того, по оценкам ВОЗ, около 2,2 миллион смертей в мире напрямую связаны с повышенным содержанием сахара в крови. Данная статистика обусловлена недостаточным вниманием к сахарному диабету среди населения и врачей, и все это, несмотря на то, что сейчас существует множество способов профилактики диабета, а также методов облегчения последствий данного заболевания.

Современные методики лечения диабета подразумевают под собой тщательный мониторинг течения заболевания и уровня глюкозы в крови, а также, при необходимости, прием лекарственных средств, прописанных врачом. Например, на данный момент, одним из самых высокоточных тестов для отслеживания уровня глюкозы в крови является тест на гликированный гемоглобин (HbA1c), который на основе уровня гемоглобина в крови, непосредственно связанного с глюкозой, позволяет отражать среднее содержание сахара в крови в динамике до трех месяцев. Данный тест является более точным и высококачественным, чем обычный тест на глюкозу, отражающий уровень глюкозы в крови на текущий момент. Однако тест на гликированный гемоглобин до сих пор проводится только в исключительных случаях в связи с отсутствием дорогостоящего оборудования в больницах, а также недостаточного внимания к профилактике и мониторингу сахарного диабета.

Тест HbA1c лишь один из примеров невнимания к заболеванию и отсутствия качественного мониторинга диабета в мире.

Объект исследования

Объектом исследования являются медицинские учреждения, оказывающие услуги больным диабетом — государственные и частные клиники, больницы, госпитали.

Предмет исследования

Предметом исследования является отслеживание течения сахарного диабета у больных, а также способы его лечения на основании значимых факторов влияния.

Цель исследования

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

Построение модели будет происходить на основе базы данных по лечению людей с диабетом, поступивших в госпитали с осложнениями, вызванными данным заболеванием. Данные включают в себя список больных, поступавших в американские госпитали в течение 1998-2008 годов. В качестве показателя реадмиссии выбрано повторное возвращение в госпиталь с осложнениями.

Задачи исследования

Для достижения цели исследования необходимо выполнить следующие задачи:

.Провести предварительный анализ данных — выявить зависимости и корреляцию между переменными, значимые параметры, выполнить подготовку данных для анализа. Создать модели на основе имеющихся данных, используя оптимальные методы Machine Learning. Оценить качество построенных моделей на основе кросс-валидации и ROC-кривых и выбрать наиболее точную модель. Создать интерфейс для пользователя на основе разработанной модели, который позволить оценить подобранные методы мониторинга и лечения диабета для каждого больного и определить показатель реадмиссии.

Скидка 100 рублей на первый заказ!

Акция для новых клиентов! Разместите заказ или сделайте расчет стоимости и получите 100 рублей. Деньги будут зачислены на счет в личном кабинете.

Подробнее Гарантии Отзывы

Решение поставленных задач производилось с применением различных методов. Для анализа переменных и связи между ними использовались методы статистики и анализа данных. Непосредственно для создания модели — методы Data mining, такие как деревья решений, метод k-ближайших соседей, наивный Баесовский классификатор и мультиноминальная логистическая регрессия.

В ходе работы использовались следующие программные продукты:

1.MS Excel — программа для работы с электронными таблицами. В данной работе используется в качестве базы данных. PyCharm Community Edition — среда разработки на языке программирования Python. Использовалась для обработки данных, а также создания модели. QtDesigner — приложение для создания GUI для пользователя на основе программного языка Python.

В первой главе описаны теоретические основы выбранной предметной области, а именно медицинская составляющая исследования — типы диабеты, его причины и способы диагностики, также проведен анализ литературы и выполнена постановка задачи.

Вторая глава включает в себя описание методов анализа данных, спобосы оценки точности классификатора, а также инструментальных средств для создания предсказательной модели оптимального лечения, таких как PyCharm и QtDesigner.

Третья глава представляет собой описание практической реализации разработки модели, а именно предварительного анализа данных, применения методов анализа данных, оценки качества работы классификаторов и имплементации разработанной модели на тестовых примерах, а также описание интерфейса пользователя.

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

1. Теоретические основы исследования

.1 Описание предметной области

машинный обучение корреляция

В настоящее время в России около 4 миллионов больных сахарным диабетом, который является эндокринным заболеванием, сопровождающимся повышенным уровнем глюкозы в крови на протяжении долгого периода времени. Высокий уровень сахара в крови обусловлен недостатком вырабатываемого гормона инсулина, что и приводит к нарушению обмена веществ в организме. Диабет разделяется на два типа по зависимости от инсулина — диабет первого типа (инсулинзависимый диабет) и диабет второго типа (инсулиннезависимый диабет). Данные типы диабета различаются в причинах возникновения, клинических картинах, лечении и осложнениях.

Инсулинзависимый диабет чаще всего возникает у людей до 30 лет по причине наследственных факторов, попаданию в организм вирусных инфекций, таких как ветрянка, корь, оспа и прочее, а также по причине сильного стресса организма. Люди, больные диабетом первого типа часто испытывают жажду, слабость, потребность в частом мочеиспускании, а также имеют склонность к кетоацидозу — нарушению углеводного обмена в организме. Среди лечения инсулинзвисимого диабета выделяют диету, спорт и постоянный прием инсулина, осложнения при отсутствии надлежащего лечения — снижение плазменной концентрации глюкозы в организме без последующей комы (гипогликемия), поражения мелких сосудов вегето-сосудистой системы, сердца и отделов головного мозга. Инсулиннезвисимый диабет в свою очередь чаще всего возникает у людей старше 40 лет с повышенной массой тела по причине наследственных факторов, а также ожирения. Признаками диабета второго типа являются сильное постоянное чувство голода, а также слабовыраженные (в отличие от диабета первого типа) жажда и частое мочеиспускание. Различия в лечении состоит в том, что при инсулиннезависимого диабета нет необходимости в постоянном принятии таблеток или инсулина. Среди осложнений также выделяется повышение плазменной концентрации глюкозы с последующей комой (гипергликемия), поражение крупных сосудов вегето-сосудистой системы, почек и нервов.

Основным принципом в предотвращении осложнений любого типа диабета является своевременный и полный мониторинг уровня глюкозы в крови, чтобы не допускать критический уровень понижения или повышения ее концентрации. Наиболее распространёнными тестом для диагностики диабета является измерение глюкозы в крови. Для измерения этого показателя необходимо взять кровь натощак не менее чем через 8 часов после приема пищи, обычно забор крови происходит с утра. В лаборатории из взятой у пациента не позже чем через два часа после сдачи анализа отделяется плазма, в которой и измеряется содержание глюкозы с помощью реагентов типа «Глюкоза GOD-PAP». Уровень глюкозы считается нормальным при следующих значениях в зависимости от возраста:

Таблица 1. Референсные значения уровня глюкозы в крови

ВозрастУровень глюкозы, ммоль/л< 14 лет3,33 — 5,5514 — 60 лет3,89 — 5,8360 — 70 лет4,44 — 6,38

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

Закажите работу от 200 рублей

Если вам нужна помощь с работой, то рекомендуем обратиться к профессионалам. Более 70 000 экспертов готовы помочь вам прямо сейчас.

Подробнее Гарантии Отзывы

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

В настоящее время, одним из самых полных тестов для контроля диабета является гликированный гемоглобин или HbA1c. Данный тест отражает среднее содержание глюкозы в крови на протяжении 3 месяцев, а именно процент гемоглобина, связанного с молекулами глюкозы в кровяных тельцах. HbA1c позволяет проследить динамику именно по причине того, что в тесте анализируются красные кровяные клетки, которые имеют продолжительность «жизни» около 90 дней, а измерение глюкозы, связанной с ними, показывает именно среднее значение уровня глюкозы за жизненный цикл эритроцитов. Выделяются несколько методов проведения гликированного гемоглобина — лабораторный, экспресс-анализ и самостоятельное тестирование с помощью глюкометра.

Лаборатории применяют множество различных способов измерения гликированного гемоглобина, среди них высокоэффективная жидкостная хроматография (ВЭЖХ), ионообменная хроматография низкого давления, иммунотурбидиметрия и прочие. Референсным (эталонным) способом является ВЭЖХ, так как он отличается наиболее высокой точностью, калибровка осуществляется по нескольким стандартам гликогемоглобина, также исключена корреляция показателей с карбогемоглобинами. Экспресс-анализ производится с помощью прибора DCA 200, который позволяет провести анализ с помощью крови из пальца в сжатые сроки, обычно до 30 минут. Также, некоторые фирмы стали производить глюкометры, позволяющие проводить замеры не простой моментальной глюкозы в крови, а именно гликированного гемоглобина, таким образом, позволяя производить более качественный мониторинг течения болезни. Нормы гликированного гемобглобина определяются по следующей таблице:

Таблица 2. Нормы гликированного гемоглобина

Результат анализа, %Уровень HbA1c<6.5Нормальные результаты6.6 — 8.0Слегка повышенный уровень8.1 — 10.0Повышенный уровень>10.1Значительно повышенный уровень

Несмотря на доказанные преимущества теста HbA1c, проведение этого теста не проводятся повсеместно по следующим причинам — низкий уровень осведомленности о значимости измерения гликированного гемоглобина, дорогая стоимость оборудования для проведения HbA1c и отсутствие финансирования на проведение данных анализов со стороны государства. Данная работа должна доказать значимость проведения этого теста на оказываемое лечение диабета и, соответственно, реадмиссию, а также позволить оценить вероятность возвращения больного к обостренному состоянию болезни при назначенном курсе лечения.

.2 Анализ исследований в области лечения диабета

Тест HbA1c в первый раз упоминается в ежегодном отчете ВОЗ в 1985 году, как новый способ мониторинга состояния людей больных диабетом. Американская Диабетическая ассоциация в 1989 году поддержала ВОЗ с идеей о применении данного теста для контроля состояния диабета и предложила проводить HbA1c дважды в год для каждого пациента с диабетом. После выхода этих двух отчетов в медицинской среде начались споры по поводу необходимости проведения теста на гликированный гемоглобин, его преимуществах и недостатках.

Анализ первых примеров применения HbA1c показал, что ранняя имплементация гликированного гемоглобина не была отмечена большим успехом. Во-первых, на этом сказалось отсутствие необходимого оборудования, которое являлось очень дорогостоящим и в связи с этим недоступным для каждой больницы. Кроме того, первые приборы для проведения теста не обладали высокой точностью, поэтому значение теста HbA1C в мониторинге диабета было недооценено. И, наконец, только 50% больниц и клиник, сообщали о своих результатах в мониторинге гликированного гемоглобина, что не позволило понять полную картину и оценить преимущества и результаты тест HbA1c.

С другой стороны, более поздние упоминания и эксперименты с HbA1c были более успешными. В своей статье «Standardization of HbA1c and Optimal Range of Monitoring» Мидема К. показал, что стандартизация HbA1c положительно повлияли на контроль состояния диабета, а также своевременное предупреждение осложнений, вызванных данным заболевнием. Он показал, что ежеквартальное проведение гликированного гемоглобина для каждого пациента больницы позволит не только назначать лечение диабета должным образом, но и обнаруживать диабет на ранних стадиях и даже предрасположенность к этому заболеванию. Более того, автор в своей статье предложил несколько путей улучшения анализа на гликировнный гемоглобин — изменение референсной системы теста, модернизация непосредственно лабораторного анализа и, наконец, стандартизация теста HbA1c во всем мире.

Более того, еще одно практическое исследование было проведено в 2014 году Беатой Штрак — она изучила влияние HbA1c, а также ряда других факторов на реадмиссию пациента в больницах с тяжелыми осложнениями. За основу была взята база диабетиков с несколькими параметрами — возраст, пол, раса, сопутствующие заболевания, лабораторного анализы, которые были проведены для пациентов и, кроме того, результаты теста HbA1c. С помощью методов анализа данных были выявлены наиболее значимые параметры, которые влияют на реадмиссию пациентов, одним из самых важных параметров, влияющих на назначение лечения, оказалолсь измерение гликированого гемоглобина. Кроме того среди значимых параметров были отмечены пол и возраст пациента, имеющиеся у него заболевания и принимаемые лекарства. Созданная на основе этих данных модель стала использоваться в больницах и госпиталях США, как позволяющая предписывать надлежащее лечение и оценить значимость теста HbA1c.

Таким образом, можно увидеть, что все работы, направленные на популяризацию и стандартизацию теста на гликированный гемоглобин, получили свои плоды. В некоторых странах данный тест применяется повсеместно и, как следствие, количество больных с осложнениями от диабета, а также уровень смертности от этого заболевания значительно снижается. Однако в России данный тест все еще не получил надлежащего распространения в связи с тем, что выше перечисленные доклады и статьи не очень популярны в РФ, а российских исследований этой проблемы не проводилось. Более того, большинство исследований несли теоретический характер, не принимая во внимания практическую составляющую вопроса. Данная работа призвана изменить отношение к HbA1c в России и сделать первый шаг на пути к стандартизации теста на гликированный гемоглобин, а также выявить другие факторы, которые могут повлиять на развитие осложнений от диабета.

.3 Постановка задачи

Таким образом, главной задачей данного исследования является необходимость построить модель с помощью методов анализа данных, используя имеющуюся базу данных посещений госпиталя. Модель должна учитывать все необходимые значимые переменные, которые влияют на показатель реадмиссии пациента и применять полученные зависимости для предсказания результата на новом объекте (пациенте). Для достижения цели исследования необходимо выполнить следующие задачи, используя выбранные инструментальные методы:

.Провести предварительный анализ данных. С помощью методов анализа boxplot выявить шумы и выбросы выборки, изучить корреляцию и зависимости между переменными с помощью one-way ANOVA. И, наконец, подготовить данные для анализа путем исключения коррелирующих переменных, а также параметров с большим количеством выбросов, либо, в случае небольшого количества шумов, замены пропущенных значений на медиану выборки

Нужна работа? Есть решение!

Более 70 000 экспертов: преподавателей и доцентов вузов готовы помочь вам в написании работы прямо сейчас.

Подробнее Гарантии Отзывы

.Создать модели на основе имеющихся данных, используя оптимальные методы Machine Learning, а именно логистическую регрессию, наивный баесовский классификатор, деревья решений и метод k-ближайших соседей. Логистическая регрессия относится к методам классификации, основанных на явном разделении обучающей поверхности на несколько областей, данный метод выполняет разделение с помощью логистической кривой. Решающий лес относится к методам, которые на основе выборки создают ряд простых правил, применяя которые алгоритм определяет принадлежность объекта к тому или иному классу. Баесовский классификатор, в свою очередь, основан на принципе максимизации апостериорной вероятности и восстановления алгоритма соответствия между зависимой и независимой переменными. И, наконец, метод k-ближайших соседей классифицирует объекты по принципу сходства с объектами обучающей выборки.

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

.Создать интерфейс для пользователя на основе разработанной модели, который позволить оценить подобранные методы мониторинга и лечения диабета для каждого больного и определить показатель реадмиссии. Интерфейс пользователя создается с использованием графических надстроек языка программирования Python, а также встроенных библиотек для анализа данных, таких как numpy, sklearn, pandas и др.

2. Использование классификаторов машинного обучения для анализа данных

.1 Методы анализа данных

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

Деревья решений

Первый из них — дерево решений. Это метод классификации и принятия решений, который состоит в том, чтобы на основании значимых параметров определить значение зависимой переменной. Структура дерева решений представляет собой листья, в которых записаны значения атрибута, а также ветки, которые содержат непосредственно значимые атрибуты. На данный момент существует несколько способов построения деревьев — алгоритмы CART, C 4.5, CHAID и пр.

Метод C 4.5 представляет собой алгоритм, который для построения дерева разбивает выборку на n подмножеств, которые в свою очередь рекурсивно также разбиваются на k подмножеств, так продолжается до момента, пока каждое множество не будет содержать конечный единичный пример. C 4.5 содержит информацию о том, каким образом и в каком количестве примеры распределены между подмножествами, для определения принадлежность к классу используется следующий алгоритм:

.Определяется вероятность того, что пример из множества S, принадлежит к одному и тому же классу . Затем определяется энтропия изначального множества T, т.е. оценка среднего количества информации содержащейся в множестве по следующей формуле(2):

Для определения энтропии подмножества используется формула для разбиения множества T по X (3):

3.Наконец, критерием определения принадлежности объекта к тому или иному классу выбирается как максимальное значение среди всех доступных классов через формулу (4):

Нужна работа? Есть решение!

Более 70 000 экспертов: преподавателей и доцентов вузов готовы помочь вам в написании работы прямо сейчас.

Подробнее Гарантии Отзывы

Алгоритм построения деревьев решений CHAID для определения класса объекта использует максимизацию критерия хи-квадрат — выбирается класс, для которого это значение максимально. Данный критерий используется для проверки нулевой гипотезы, где распределение критерия имеет распределение хи-квадрат — полученное фактическое значение сравнивается с табличным, в случае, если фактическое значение больше, чем табличное, то гипотеза отвергается, в противном случае — принимается.

В ходе данной работы дерево строится по алгоритму CART, который позволяет строить бинарные деревья решения (каждый узел дерева разбивается только на два дочерних узла). Данный алгоритм разбивает обучающую выборку на подмножества по значению зависимой переменной, в процессе создания дерева CART подбирает параметры, по которым будет разбиваться выборка, по принципу максимизации значения следующего показателя (5):

Где s — идентификатор разбиения, t — идентификатор узла, tL и tR — левый и правый потомки узла t соответственно, — отношение числа примеров в левом и правом потомках к их общему числу в обучающем множестве, — отношение числа примеров класса j в левом и правом потомках к их общему числу в каждом из них.

После разбиения выборки алгоритм определяет класс каждого последующего элемента с помощью индекса Gini (6):

,

где c — значение текущего узла, — вероятность отнесения узла c к классу j. Данный индекс работает по принципу минимизации расстояния от класса до объекта, то есть выбирает для объекта тот класс, расстояние до которого минимально.

Именно CART алгоритм был выбран в качестве алгоритма построения деревьев решений, так как он наиболее устойчив к выбросам, самостоятельно выбирает наиболее значимые переменные для анализа, а также отличается высокой скоростью работы.

Для принятия решения более высокой точности необходимо применить дерево решений к выборке несколько раз. Чтобы упростить задачу, убрав необходимость несколько раз применять одно и то же дерево к выборке, был разработан метод случайного леса. Он заключается в том, что на основе выборки создается несколько деревьев принятия решений, который образуют собой некий «голосующий комитет», принятие решений в котором происходит на основании выбора большинства.

Алгоритм случайного леса состоит в следующем: для каждого дерева необходимо определить количество повторений (бутстрэпов), достаточного для построения точной модели. Затем построить ансамбль деревьев решений с помощью алгоритма CART. Для принятия решений на тестовых выборках каждому дереву присваивается вес согласно точности дерева, принятие решения основывается на выборе большинства с учетом веса каждого дерева из ансамбля.

Закажите работу от 200 рублей

Если вам нужна помощь с работой, то рекомендуем обратиться к профессионалам. Более 70 000 экспертов готовы помочь вам прямо сейчас.

Подробнее Гарантии Отзывы

Метод k-ближайших соседей

Следующий довольно распространенный метод для анализа данных — метод k-ближайших соседей, который основывается на оценке похожести объектов, располагающихся на отрезке k от изучаемого объекта. Алгоритм выбирает все объекты, которые находятся на расстоянии k от объекта, и среди них находит те, которые имеют самое большое значения для изучаемого объекта, и относит его к их классу.

Для работы алгоритма необходима обучающая выборка, на которой задано соответствие группа объектов-зависимая переменная (7):

},

На данном множестве объектов должна быть однозначно задана функция расстояния между объектами . Для случайного объекта u алгоритм определяет расстояния до объектов определенного класса и располагает их в порядке возрастания (8)
,

где — i-ый сосед объекта u. i-ый сосед для зависимой переменной обозначается через . В общем виде функция классификации объекта выглядит следующим образом (9):

,

где — функция «веса» (степени значимости) i-го соседа для объекта u. В отличие от алгоритма деревьев решений, метод k-ближайших соседей неустойчив к шумам в выборке, однако также дает довольно хорошие и валидные результаты на больших выборках.

Наивный байесовский классификатор

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

Данный классификатор также требует, чтобы была задана обучающая выборка по формуле (7), также необходимо, чтобы было известно значение плотностей класса. При соблюдении вышеперечисленных условий алгоритм определяет значение среднего риска (вероятность отнесения объекта к неправильному классу) (10):

Нужна работа? Есть решение!

Более 70 000 экспертов: преподавателей и доцентов вузов готовы помочь вам в написании работы прямо сейчас.

Подробнее Гарантии Отзывы

,

где — «штраф» за отнесения объекта к неверному классу.

Для классификации объекта используется функция максимизации (11)

,

где — аспостериорная вероятность (вероятность после проведения эксперимента) того, что объект принадлежит к определенному классу.

При предположении, что все объекты из выборки, описываются статистически независимыми признаками, классификатор называется наивным. Данный вариант метода более прост в реализации, а также довольно быстро работает во время обучения и классификации, однако имеет существенный недостаток — довольно низкое качество на больших выборках.

Логистическая регрессия

Наконец, логистическая регрессия — это модель, применяющаяся для оценки принадлежности объекта к тому или иному классу. Простая логистическая регрессия подразумевает, что значения целевой переменной бинарны, в случае, если классов больше чем два, то говорят о мультиноминальной логистической регрессии. Логистическая регрессия для отнесения объекта к тому или иному классу использует следующую формулу (12):

,

где j-го признака, — порог для принятия решения, — скалярное произведение признакового описания объектов на вектор весов.

Принцип работы логистической регресии основан на том, чтобы по элементам обучающей выборки вычислить вектор весов и с его помощью классифицировать последующие объекты (13)

2.2 Методы проверки точности работы классификатора

Для оценки качества работы классификатора существует несколько методов, самые популярные и качественные из них — кросс-валидация и ROC-кривые.

Для проведения алгоритма кросс-валидации выборка разделяется на обучающую, к которой применяются методы анализа данных, и тестовую, на которой и проверяется качество работы классификаторов методом оценки средней ошибки классификации. Таким образом, алгоритм имеет две непересекающиеся между собой выборки — — обучающая выборка и — тестовая выборка, где m и k — размерность выборки. Для каждой выборки строится алгоритм соответствия между независимыми и зависимой переменной , а также определяется значение функционала качества, оценивающего качество алгоритма (14):

Скидка 100 рублей на первый заказ!

Акция для новых клиентов! Разместите заказ или сделайте расчет стоимости и получите 100 рублей. Деньги будут зачислены на счет в личном кабинете.

Подробнее Гарантии Отзывы

,

где m — размерность полной выборки (без разбиения), — функция потерь, отображающая значение вероятности ошибки в работе классификатора.

Величина точности классификатора определяется по следующей формуле (15):

,

где CV принимает значения от 0 до 1.

Помимо метода кросс-валидации для проверки качества классификатора используются ROC-кривые — графики, показывающие соотношение неправильно определенных позитивных случаев к корректно определенным позитивным случаям (flase positive rate и true positive rate). Алгоритм строит графическое представление доли ложных положительных классификаций (FRP) к доле верных положительных классификаций (TRP) (16), (17):

,

где a — алгоритм соответствия независимой и зависимой переменной, x — независимая переменная, y — зависимая переменная.

Точность работы классификатора определяется, как размер площади под кривой на графике (см. рис. 1).

Рисунок 1. Точность по ROC-кривой

 

В качестве метода анализа данных и построения модели был выбран язык программирования Python в связи с тем, что его библиотеки имеют множество встроенных функций, которые позволяют быстро и эффективно обрабатывать данные. Этот язык является высокоуровневым, поддерживающим различные парадигмы программирования, в том числе и объектно-ориентированное; имеет ряд преимуществ, позволяющих облегчить процесс создания кода, например, отсутствие необходимости задавать тип переменной, понятный и простой синтаксис, а также интеграция с языками программирования С. Среди библиотек Python, которые могут быть полезна для анализа данных и построения моделей, pandas, pylab, matplotlib, numpy и sklearn.

Библиотека pandas используется в основном для предварительной обработки и представления данных. Прежде всего, она содержит объект DataFrame, который позволяет представлять базу данных в виде двумерного массива, а также проводить с ней некоторые манипуляции и действия, такие как создание сводных таблиц, удаление строк и столбцов и наконец, группировка и объединение данных. Pylab и matplotlib в свою очередь используются для построения и визуализации графиков на основе обработанных данных. Данные библиотеки поддерживают большое количество различных графиков и диаграмм — от простых столбчатых диаграмм до сложных графиков с дополнительными осями. NumPy — математическая библиотека, поддерживающая множество математических операций, а также обработку многомерных массивов. И, наконец, Sklearn также реализует собой библиотеку с математическими алгоритмами, однако более сложными, чем в библиотеке NumPy, именно в sklearn реализованы функции обучения с учителем, которые позволяют создавать на основе обучающей выборки предсказательные модели.

Существует еще несколько способов анализа данных, например, написание макроса на VBA в Excel, использование SPSS Statistic, а также язык программирования R. Первый способ подразумевает под собой создание кода программы вручную, то есть программирование сложных методов анализа данных, таких как логистическая регрессия или метода опорных векторов, занимает большое количество времени. Более того, Excel при обработке большого массива данных не хватает производительности, и программа работает довольно медленно, затормаживая процесс создания и редактирования кода. SPSS Statistic в свою очередь также имеет не самую высокую производительность, во встроенных пакетах реализованы не все необходимые для анализа функции и возможности, также данные требуют предварительной подготовки, чтобы программа воспринимала информацию корректно. Наконец, язык программирования R поддерживает все необходимые функции обучения с учителем, отлично подходит для анализ статистических данных, также как и Python имеет систему динамических типов, интеграцию с другими языками программирования и является мультипарадигмальным. Однако, создание GUI на языке R значительно сложнее и менее успешно реализовано, чем на Python. В связи с этим, так как одной из задач работы является создание интерфейса для пользователя, в качестве инструмента для анализа данных был выбран именно Python.

Для программирования на языке Python существует несколько сред разработки, самые популярные из них Eric, Eclipse и PyCharm. Именно последняя программа была выбрана для разработки, так как имеет бесплатную версию, имеет высокую производительность и поддерживает реализацию всех необходимых библиотек, а также их удобную и легкую установку. Более того, в PyCharm реализованы возможности интеллектуального редактирования кода (выделение ошибок, автозаполнение по первым буквам команды и т.д.), оптимизации времени работы программного продукта и возможность интегрировать библиотеку визуализации данных.

Для создания интерфейса пользователя была выбрана программа QtDesigner, так как это наиболее удобная программа для создания GUI на языке Python. Содержит в себе встроенную библиотеку Qt Framework, набор виджетов, позволяющий быстро создавать графические представления, а также приложение Qt Designer позволяет облегчить процесс кодирования с помощью методов оптимизации кода.

.1 Описание переменных

Данные используемые для анализа представляют собой базу данных посещений госпиталей Америки больными с диабетом, которые поступали в больницу с осложнениями заболевания, либо с ухудшенным состоянием здоровья. Источником данных является база, собранная за 10 лет (с 1998 по 2008) Cerner Corporations, Каназас, Америка. База имеет следующую структуру:

1.EncounterID — уникальный номер визита (номинальный) — уникальный номер пациента (номинальный) — раса. В изначальных данных представлен в текстовом формате, имеет значения Caucasian (европиоидная), AfricanAmerican (африканская), Asian (азиатская), Hispanic (латино-американская), Other (другое) (номинальный) — пол пациента (номинальный) — возраст пациента. Представлен в формате диапазонов возраста — от 0 до 100 лет, с промежутками в 10 лет (0-10; 11-20; 21-30 и т.д.) (номинальный) — вес пациента в фунтах. Также как и возраст представлен в формате диапазонов. (номинальный) — тип поступления в госпиталь. Имеет значения: Emergency — скорая помощь Urgent — срочный перевод из другого отделения Elective — самостоятельное обращение Newborn — новорожденный Trauma Center — травматологический центр и еще три значения, отражающие отсутствие записи о типе поступления (номинальный) — заключение по визиту, имеет 29 закодированных значений. a.Discharged to home — выписан домой.Discharged/transferred to another short term hospital — переведен в другой госпиталь.Discharged/transferred to SNF — переведен в отделение Skilled nursing facilities (отделение с уходом медсестёр за больными).Discharged/transferred to ICF — переведен в госпиталь ICF, специализирующийся на больных диабетом.

e.Discharged/transferred to another type of inpatient care institution — переведен в заведение по уходу за больными другого типа.Discharged/transferred to home with home health service — выписан домой с обязательным посещением врача на дому.Left AMA — покинул госпиталь по собственному желанию с отказом в проведении лечения / осмотра

h.Admitted as an inpatient to this hospital — оставлен в стационаре госпиталя.Expired — визит окончен

j.Hospice — переведен в хоспис.Discharged/transferred to a Critical Access Hospital (CAH) — переведен в Critical Access Hospital, занимающийся тяжелыми случаями течения заболеваний. А также еще 18 значений, представляющих собой комбинацию выше перечисленных заключений визита.

9.Time in hospital (количественный) — количество дней, проведенных в госпитале

10.Payer code (номинальный) — 23 уникальных значения страховой компании.

11.Medical specialty (номинальный) — 84 уникальных значения отделений, в которое поступил больной. Например, кардиология, эндокринология, неврология и прочее.

Закажите работу от 200 рублей

Если вам нужна помощь с работой, то рекомендуем обратиться к профессионалам. Более 70 000 экспертов готовы помочь вам прямо сейчас.

Подробнее Гарантии Отзывы

12.Number of lab procedures (количественный) — количество проведенных лабораторных тестов для пациента

13.Number of procedures (количественный) — количество других процедур (не анализы), проведенных для пациента

14.Number of medications (количественный) — количество препаратов, принимаемых пациентом во время нахождения в госпитале

15.Number of outpatient visits (количественный) — количество амбулаторных визитов данного пациента в период времени год до визита.

16.Number of emergency visits (количественный) — количество поступлений на скорой помощи в аналогичный период

17.Number of inpatient visits (количественный) — количество стационарных визитов в аналогичный период

18.Diagnosis 1 (номинальный) — первичный диагноз. Закодировано по ICD9 — интернациональный стандарт классификации заболеваний.

Скидка 100 рублей на первый заказ!

Акция для новых клиентов! Разместите заказ или сделайте расчет стоимости и получите 100 рублей. Деньги будут зачислены на счет в личном кабинете.

Подробнее Гарантии Отзывы

-139: инфекционные и паразитарные болезни

-239: новообразования

-279: болезни эндокринной системы, расстройства питания, нарушения обмена веществ и иммунитета

-289: болезни крови и кроветворных органов

-319: психические расстройства

-389: болезни нервной системы и органов чувств

-459: болезни системы кровообращения

-519: болезни органов дыхания

-579: болезни органов пищеварения

-629: болезни мочеполовой системы

-679: осложнения беременности, родов и послеродового периода

-709: болезни кожи и подкожной клетчатки

-739: болезни костно-мышечной системы и соединительной ткани

-759: врождённые аномалии (пороки развития)

-779: отдельные состояния, возникающие в перинатальном периоде

-799: симптомы, признаки и неточно обозначенные состояния

-999: травмы и отравления

19.Diagnosis 2 (номинальный) — вторичный диагноз. Закодировано по ICD9

20.Diagnosis 3 (номинальный) — дополнительный вторичный диагноз. Закодировано по ICD9

21.Number of diagnoses (количественный) — количество диагнозов

22.Glucose serum test result (номинальный) — значения теста на уровень глюкозы в крови. Значения: «>200,» «>300,» «normal,» и «none» если не измерялось

23.A1c test result (номинальный) — результаты теста на гликированный гемоглобин

24.Change of medications (номинальный) — изменения в принимаемых лекарствах (было ли изменение, или нет)

25.Diabetes medications (номинальный) — прописаны ли лекарства от диабета

26.24 features for medications (номинальный) — факт принятия пациентом лекарства (24 столбца с наиболее распространенными лекарствами, принимаемые диабетиками)

27.Readmitted (номинальный) — показатель реадмиссии пациента. Вернулся в госпиталь после выписки с ухудшенным состоянием меньше чем через 30 дней (2), больше чем через 30 дней (1), не вернулся (0)

.2 Предварительный анализ данных

Прежде всего, имеющиеся данные в формате csv были загружены в среду разработки с помощью модуля библиотеки pandas, функции pandas.read_csv. Первым шагом в подготовке данных для анализа было изучение переменных на количество недостающих данных. В изначальных данных все ситуации отсутствия информации по записи обозначались через «?», таким образом, чтобы выявить все пропуски был произведен подсчет значений, равных «?» по каждому из параметров. Ниже приведены параметры, с полученными значениями процента недостающих данных: раса — 2%; вес — 97%; страховая компания — 40%; отделение, в которое поступил пациент — 49%; дополнительный вторичный диагноз — 1%. В связи с большим количеством пропусков, переменные вес, страховая компания и отделение были исключены из анализа, так как не предоставляется возможным с помощью методов исключения шумов из выборки заполнить значениями недостающие данные. Недостающая информация для расы и дополнительного вторичного диагноза была заполнена искусственно, используя подстановку значения медианы по данным параметрам из всей имеющейся выборки.

Далее, был проведен анализ выбросов по оставшимся параметрам с помощью boxplot, который показывает медиану выборки, максимальное и минимальное значение, верхний и нижний квартили, а также выбросы. Например, переменная возраста имеет один выброс, который, учитывая размер выборки не влияет на качество предсказаний с использованием данного параметра, а, значит, возраст можно учитывать при анализе (см. рис. 2, 3, 4):

Рисунок 2. BoxPlot для переменной «Возраст»

В ходе данного анализа были выявлены две переменные с большим количеством выбросов, которые влияют на качество работы модели — дополнительный вторичный диагноз и прием росиглитазона:

Закажите работу от 200 рублей

Если вам нужна помощь с работой, то рекомендуем обратиться к профессионалам. Более 70 000 экспертов готовы помочь вам прямо сейчас.

Подробнее Гарантии Отзывы

Рисунок 3. BoxPlot для переменной «Прием росиглитазона»

Рисунок 4. BoxPlot для переменной «Дополнительный вторичный диагноз»

Большое количество выбросов для дополнительного вторичного диагноза может быть объяснено тем, что данная графа в карте пациента является обязательной для заполнения, но считается многими врачами второстепенной, в связи с чем заполняется не всегда корректно. Прием росиглитазона в свою очередь может объясняться некорректным сбором данных из анкет пациентов, так как по умолчанию данная переменная должна принимать только два значения — 0 (в случае, если лекарство не принимается) и 1 (в случае, если больной принимает данный медикаментозный препарат). Как можно увидеть на графике, значение этой переменной колеблется от 0 до 30, что говорит о некорректности данных. Дополнительный вторичный диагноз и прием росиглитазона были исключены из дальнейшего анализа и построения модели на основании проведенного анализа.

По результатам обнаружения выбросов, а именно результатов, связанных с переменной «прием росиглитазона» было принято решение проверить валидность данных. Для этого из каждого параметра были выбраны уникальные значения (удалены дубликаты), которые были сопоставлены с областью значений для данных переменных. В результате данного анализа не было выявлено ни одного параметра с невалидными значениями.

Следующим шагом был проведен анализ one-way ANOVA, позволяющий определить корреляцию переменных между собой. В Python данный метод реализуется с помощью библиотеки scipy, модуля stats, функции f_oneway. Данный метод на входе запрашивает наименования параметров, между которыми необходимо определить статистическую значимость, а на выходе возвращает значения f-value (F-критерий Фишера) и p-value (вероятность ошибки первого рода). Полученное f-value сравнивается с табличным значением F, в случае, если фактическое F меньше, чем F табличное, то это показывает ненадежность выбранной модели регрессии и низкое качество предсказаний. Табличное значение F равно 0.98 (k1 — количество факторов = 47, k2 — количество наблюдений-количество факторов 101720, уровень значимости — 0,05), полученное с помощью ANOVA значение равно 17.55, соответственно модель можно признать статистически значимой. Для окончательного подтверждения возможности использовать оставшиеся параметры для построения модели, необходимо сравнить полученное p-value с уровнем значимости, выбранным для модели. P-value = 0.15, уровень значимости равен 0,01, так как p-value больше уровня значимости, модель можно принять и использовать все, неисключенные до этого из анализа переменные.

После проделанных выше шагов данные готовы к использованию в построении модели. Как уже было сказано выше, для обучения модели будут использоваться следующий методы — рандомный лес, метод k-блиажйших соседей, логистическая регрессия и наивный баесовский классификатор. Данные методы будут применены к обучающей выборке, составляющей 80% от имеющихся данных, результат их работы проверен на тестовой выборке, составляющей оставшиеся 20%. Прежде, чем применять методы к данным, необходимо выбросить из выборки параметры, которые на предыдущих шагах были исключены из анализа, а также целевую переменную (readmitted) и параметры, представляющие собой id пациента и визита.

train = diabetic_data.drop([‘weight’], axis=1)

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

RandomForest. Представляет собой «коммитет» из деревьев решений, которые принимают решение методом голосования большинства деревьев. Само по себе дерево решений представляет собой граф, представленный ветками (репрезентуют значимые атрибуты, влияющие на значение целевой переменной) и листьями (показывают непосредственно само значение атрибута). При каждом новом случае, алгоритм прогоняет его по каждому из деревьев решений, получает значение от каждого дерева и возвращает финальный результат — значение, выбранное большинством деревьев. В Python классификатор sklearn.ensemble. RandomForestClassifier принимает на вход значение параметра n _estimator, отвечающего за количество деревьев (см. рис. 5):

1.n_estimator = 10 n_estimator = 30 n_estimator = 2 n_estimator = 50 — с данным количеством деревьев метод дает наилучший результат. Точность 0,83. Данное количество параметров было выбрано, так как и при уменьшении, и при увеличении количества деревьев, классификатор показывает более плохой результат точности, чем при n=80. n_estimator = 150

Рисунок 5. Кросс-валидация для метода рандомных деревьев

Метод k-ближайших соседей. Данный классификатор предлагает для каждого нового кейса результат, который выдают большинство из его ближайших соседей. Соответственно, изменяемый параметр данного метода — n_neighbours (количество ближайших соседей) (см. рис. 6)

1.n_neighbours = 20 — при данном количестве соседей классификатор показывает наилучший результат. Точность 0,79. Аналогично случаю с рандомным лесом, как уменьшение, так и увеличение числа соседей приводят к ухудшению работы классификатора. n_neighbours = 50 n_neighbours = 100 n_neighbours = 5

Скидка 100 рублей на первый заказ!

Акция для новых клиентов! Разместите заказ или сделайте расчет стоимости и получите 100 рублей. Деньги будут зачислены на счет в личном кабинете.

Подробнее Гарантии Отзывы

Рисунок 6. Кросс-валидация для метода ближайших соседей

Логистическая регрессия. Модель классификации, определяющая параметры уравнения регрессии путем подгонки данных из выборки под логистическую кривую. Для каждого нового случая, модель применяет параметры, полученные на тестовой выборке к новому примеру. В рамках решаемой задачи будет использоваться мультиноминальная регрессия, так как целевая переменная принимает больше двух значений, соответственно параметр мультиноминальности будет принимать значение multi_class=’ovr’ Изменяемые параметры в Python — penalty определяет метод для учета ошибки первого рода в регрессии, tol — уровень значимости (см. рис. 7).

1.Penalty = l2, tol = 0.0001 Penalty = l1, tol = 0.0001 Penalty = l1, tol = 0.001 Penalty = l2, tol = 0.01 — c таким набором параметров модель дает наилучший результат. Точность 0,85. Penalty = l2, tol = 0.001

Рисунок 7. Кросс-валидация для логистической регрессии

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

3.4 Оценка качества работы классификаторов

Кросс-валидация также может быть применена для сравнения различных классификаторов между собой, чтобы определить метод с наиболее высокой точностью предсказаний.

На графике слева направо представлен результат работы всех классификаторов (см. рис. 8):

.Наинвый баесовский классификатор — точность 0,28 Метод ближайших соседей — точность 0,79 Метод случайного леса — точность 0,83. Логистическая регрессия — точность 0,85

Рисунок 8. Кросс-валидация для всех классификаторов

Таким образом, по результатам проведенной кросс-валидации наилучшим методом является логистическая регрессия. Низкий результат точности классификатора наивный Баесовский классификатор может быть обусловлен размером выборки и количеством параметров, так как данный метод в основном хорошо работает только на маленьких выборках.

Помимо метода кросс-валидации для проверки качества классификатора используются ROC-кривые — графики, показывающие соотношение неправильно определенных позитивных случаев к корректно определенным позитивным случаям (flase positive rate и true positive rate). В связи с тем, что в данной выборке целевая переменная принимает больше, чем два значения, то необходимо строить ROC-кривую для каждого из значений целевой переменной, а потом представлять на графике среднее для всех значений зависимого параметра. Данный алгоритм реализуется следующим образом:

= diabetic_data.readmitted — определяем целевую переменную

# Binarize the output — представляем значения целевой переменной в бинарном виде

target = label_binarize (target, classes=[0, 1, 2])_classes = target.shape[1]

for i], y_score[:, i])_auc[i] = auc (fpr[i], tpr[i])
Результат работы данного алгоритма представлен ниже (см. рис. 9):

Закажите работу от 200 рублей

Если вам нужна помощь с работой, то рекомендуем обратиться к профессионалам. Более 70 000 экспертов готовы помочь вам прямо сейчас.

Подробнее Гарантии Отзывы

Рисунок 9. ROC-кривые для классификаторов

Таким образом, и в анализе через ROC-кривые наилучшим образом себя показала именно логистическая регрессия. В связи с этим именно данный классификатор будет использоваться для предсказания целевой переменной.

Прежде, чем начать реализацию интерфейса для конечного пользователя, необходимо проверить и интерпретировать результат работы выбранного классификатора. Первым шагом, получаем коэффициенты линейной регрессии, далее необходимо провести интерпретацию полученных результатов, а также проверить значимость полученных коэффициентов с помощью t-статистики. В случае, если полученное значение статистики больше, чем табличное значение, то коэффициенты признаются значимыми. В данном случае все коэффициенты признаны статистически значимыми, так как значение t-статистики больше, чем (уровень значимости 0,01, степени свободы = 101470 (nk-1)). Данные представлены в таблице 3 (синим выделены положительные коэффициенты, красным — отрицательные)
Таблица 3. Коэффициенты логистической регрессии

ПараметрКоэффициентt-статистикаИнтерпретацияОтделение+0.001644927,44529Слабая степень влияния. Пациенты, поступившие в кардиологическое отделение и отделение эндокринологии наиболее склонны к ухудшению состояния.Пол+ 0.021955295,98426Мужчины более склонны к ухудшению состоянияКоличество дней в госпитале+0.008836958,991112Степень влияния на реадмиссию очень слабое, однако наблюдается прямая зависимость между днями, проведенными в госпитале и последующим ухудшением состояния.Заключение по визиту+0.009379189,424847Наблюдается прямая взаимосвязь между увеличением числа, указанного в заключении по визиту, и реадмиссией. Однако данные закодированы в случайном порядке, логическая интерпретация данных результатов затруднена.Тест на глюкозу+0.038596797,542266Чем выше показатели теста на глюкозу, тем выше вероятность реадмиссии.Вторичный диагноз+0.0731999412,02284Аналогично первичному диагнозу существует прямая зависимость.Количество препаратов+0.0807977712,551719Большое количество назначенных препаратов говорит о вероятности реадмиссии. Может быть обусловлено тем, что человек в более плохом изначальном состоянии принимает большое количество лекарств, а не самим фактом назначения большого количества медикаментов.Количество посещений до этого визита+0.088665319,491827В случае если пациент часто обращается в больницу, вероятность реадмиссии выше.Возраст+0.139332138,225969Чем старше человек, тем больше вероятность реадмисии.Первичный диагноз+0.144796666,783833В соответствии с группировкой заболеваний в классы, наиболее высокий риск реадмиссии у пациентов с заболеваниями системы кровообращения, пищеварения, а также поступивших с травмами.Тест HbA1c+0.8123838711,538118Чем выше показатели HbA1c, тем выше вероятность возвращения к ухудшенному состоянию. Степень влияния показателя высокая.Раса-0.0657396210,986301Европеоиды более склонны к ухудшению состоянияИзменение в принимаемых лекарствах-0.092701975,295517В случае корректировки принимаемых лекарств, вероятность реадмиссии меньше.Количество других процедур-0.101090887,705122Чем больше процедур оказано пациенту, тем меньше вероятность реадмиссии. Коэффициенты у этого и предудущего параметра обусловлены тщательным подходом к лечению больного в случае оказания большого количества услуг.Количество лабораторных тестов-0.251088810,850467Чем больше тестов сделано пациенту, тем меньше вероятность реадмиссии.Тип поступления-0.325075279,300183Если человек поступил в экстренном случае, то вероятность ухудшения более велика.

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

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

3.5 Интерфейс пользователя

корреляция переменная диабет

Интерфейс пользователя выглядит следующим образом (см. рис. 10):

Рисунок 10. Интерфейс пользователя

Для запуска программы необходимо заполнить все имеющиеся поля — выбрать расу, тип поступления, заключение, отделение, первичный и вторичный диагноз из выпадающих списков; ввести возраст, количество дней в госпитале, количество проведенных тестов и процедур, количество принимаемых препаратов, количество амбулаторных посещений до данного визита, значение теста на глюкозу, а также теста HbA1C; отметить пол, а также принимаемые больным лекарства из предложенных в интерфейсе.

Введенные значения проверяются на корректность — выполняется проверка на соответствие типу данных (текстовый, числовой и т.д.) и на заполнение всех необходимых полей, также существует ограничение на длину символов, а именно:

.Раса — выпадающий список, недоступно ввести собственное значение Пол — необходимо обязательно поставить галочку в одно из полей Возраст — числовое поле, не более 100 лет Тип поступления — выпадающий список, недоступно ввести собственное значение Заключение — выпадающий список, недоступно ввести собственное значение Дней в госпитале — числовое поле Отделение — выпадающий список, недоступно ввести собственное значение Кол-во тестов — числовое значение Кол-во процедур — числовое значение Кол-во препаратов — числовое значение Кол-во посещений до — числовое значение Первичный диагноз — выпадающий список, недоступно ввести собственное значение Вторичный диагноз — выпадающий список, недоступно ввести собственное значение Тест на глюкозу — числовое значение

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

Закажите работу от 200 рублей

Если вам нужна помощь с работой, то рекомендуем обратиться к профессионалам. Более 70 000 экспертов готовы помочь вам прямо сейчас.

Подробнее Гарантии Отзывы

После того, как пользователь ввел все данные и нажал кнопку «ОК», программа записывает все полученные значения в массив и выдает результат с помощью функции test.return = model_lr_5.fit([Массив_Данных]). Было проведено несколько тестов программы, во всех случаях выдавался логичный результат по реадмисии. Например, для следующих значений (см. Таблицу 4) результат реадмиссии =2, то есть ожидается возвращение больного в период меньше 30 дней.

Таблица 4. Данные для теста программы

ПолеЗначениеraceAfricanAmericangender1age45admission_type_id1discharge_disposition_id1time_in_hospital9num_lab_procedures47num_procedures2num_medications17number_outpatient0diag_1Болезни эндокринной системыdiag_2Болезни системы кровообращенияnumber_diagnoses9max_glu_serum0A1Cresult0metformin1repaglinide1nateglinide1chlorpropamide1glimepiride1acetohexamide1glipizide1tolbutamide1pioglitazone1acarbose1miglitol1troglitazone1tolazamide1examide1citoglipton1insulin1glyburide-metformin1glipizide-metformin1glimepiride-pioglitazone1metformin-rosiglitazone1metformin-pioglitazone1change0

Полученный результат совпадает с ожидаемым, так как вторичным диагнозом больного является заболевание системы кровообращения, для него не проводился тест HbA1c, он принимает большое количество лекарств, среди которых есть глипизид и пиоглитазон, что говорит о высокой вероятности реадмиссии. Также были рассмотрены еще два примера классификации на основе разработанной модели. Во втором случае программа предсказывает результат реадмиссии 2, что также является наиболее плохим случаем (возвращение менее чем через 30 дней). Данный результат является валидным, так как наиболее значимые показатели указывают на то, что пациент действительно находится в группе риска — возрастная группа пациента (50-60 лет), мужской пол, болезни системы кровообращения, относительно небольшое количество проведенных процедур, наличие множества заболеваний и диагнозов, отсутствие проведения теста HbA1c, прием лекарств с побочными эффектами. В последнем же случае, пациент находится вне зоны риска, что и предсказывается моделью в качестве значения реадмиссии 0 — молодой возраст пациента, сопутствующие заболевания, не оказывающие влияние на течение диабета, раса, менее всего предрасположенная к осложнениям, большое количество проведенных процедур, корректное назначение лекарств, а также проведение теста HbA1C. При дальнейшем тестировании и валидации результатов работы программы некорректности в предсказывании показателя реадмиссии также обнаружено не было.

Таким образом, полученная модель позволяет в большинстве случаев корректно предсказывать факт реадмиссии на основе данных, вводимых конечным пользователем через интерфейс.

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

Заключение

В ходе данной работы была выполнено построение моделей с помощью нескольких алгоритмов классификации методов машинного обучения. В качестве инструментальных методов реализации поставленной задачи был выбран программный продукт PyCharm, представляющий собой среду разработки на языке программирования Python. В данной программе был проведен первоначальный анализ данных с помощью методов boxplot, позволяющий выявить выбросы выборки, а также такие показатели, как минимальное и максимальное значение, медиана; и анализа ANOVA, позволяющего вычислить зависимости и корреляции между переменными начального dataset. Для создания модели использовались наиболее подходящие классификаторы с оптимальными для данной выборки параметрами — метод рандомного леса, k-ближайщих соседей, наивный Баесовский классификатор и логистическая регрессия. Далее была проведена оценка точности работы классификаторов с помощью методов скользящего контроля (кросс-валидация) и ROC-кривых, наилучшим образом себя показала логистическая регрессия, поэтому именно она была выбрана для дальнейшего построения модели. После разработки модели были выявлены значимые показатели, влияющие на целевую переменную — реадмиссия зависит от первичного диагноза пациента, его пола, возраста, количества проведенных лабараторных испытаний, а также от назначенных лекарств, а именно глипизида и пиоглитазона. Для удобства конечных пользователей программы в среде разработки QtDesigner был разработан интерфейс пользователя, позволяющий предсказать реадмиссию для каждого нового пациента. В качестве дальнейших перспектив развития данной работы может быть рассмотрена рекомендательная модель для медицинских учреждений, позволяющая подобрать оптимальное лечение для каждого конкретного пациента. Рекомендательная модель включает в себя потенциал учета большого количества внешних факторов, влияющих на возможность применения рекомендуемых методов лечения (бюджетные средства, особенности географической области применения, доступность необходимых лекарственных средств и др.), а также непосредственно возможность подбирать для каждого пациента индивидуальную программу лечения.

Список литературы

1.Российская организация борьбы с диабетом.URL: http://www.dialand.ru/, дата обращения 23.02.2017

2.Материал для журнала «Клинико-лабораторный консилиум» №3-2009, URL: http://www.analytica.ru/news.php? id=103, дата обращения 24.02.2017

.Всемирная организация здравоохранения. URL: http://www.who.int/diabetes/ru/, дата обращения 18.02.2017

.Глобальное комьюнити по диабету. URL: http://www.diabetes.co.uk/what-is-hba1c.html, дата обращения 16.04.2017

.И.И. Никберг, И.А. Чайковский, М.С. Ахманов. Лечение диабета в XXI веке. Реальность, мифы, перспективы. — СПб.: Вектор, 2011

.Тюкавкина Н.А., Бауков Ю.И. Биоорганическая химия. — М.: Медицина, 1985. — 480 с.

.Различия сахарного диабета, I и II типа (по Этцвиллеру, 1987)

Скидка 100 рублей на первый заказ!

Акция для новых клиентов! Разместите заказ или сделайте расчет стоимости и получите 100 рублей. Деньги будут зачислены на счет в личном кабинете.

Подробнее Гарантии Отзывы

8.David B. Sacks. Measurement of hemoglobin A1c. A new twist on the path to harmony. Diebates Care 35 (12): 2674-2680, 2012

.Miedema K. Standardization of HbA1c and optimal range of monitoring. Scand J Clin Lab Invest Suppl 240: 61-72, 2005

10.Mogens Lytken Larsen, Mogens Hørder and Erik F. Mogensen. Effect of long-term monitoring of glycosylated hemoglobin levels in insulin-dependent diabetes mellitus. N Engl J Med 323 (15):1021-1025, 1990

.J. Ross Quinlan. C4.5: Programs for Machine learning. Morgan Kaufmann Publishers 1993

.Лагутин М.Б. Наглядная математическая статистика. (Том 2, стр. 174) — М.: П-центр, 2003.

13.S. Murthy. Automatic construction of decision trees from data — A Multi-disciplinary survey, 1997

14.Загоруйко Н.Г. Прикладные методы анализа данных и значний. Новосибирск: ИМ СО РАН, 1999

.Журавлев Ю.И. и пр. Математические методы. Программная система. Практические применения. — М.: Фазис, 2006

.Валик В.Н., Червоненкис А.Я. Теория распознования образов — М.: Наука, 1974.

17.Trevor Hastie, Robert Tibshirani and Jerome H. Friedman. The elements of statistical learning — Stanford: Springer, 2009

18.Воронцов К.В. Комбинаторный подход к оценке качества обучаемых алгоритмов. — Математические вопросы кибернетики / Под ред. О.Б. Лупанов. — М.: Физматлит, 2004. — T. 13. — С. 5-36.

19.Hand, David J. Measuring classifier performance: A coherent alternative to the area under the ROC curve, Machine Learning, 77: 103-123, 2009

Нужна работа? Есть решение!

Более 70 000 экспертов: преподавателей и доцентов вузов готовы помочь вам в написании работы прямо сейчас.

Подробнее Гарантии Отзывы

20.Сайт языка программирования python. URL: https://www.python.org/, дата обращения 08.05.2017

.Сайт программного продукта PyCharm. URL: https://www.jetbrains.com/pycharm/, дата обращения 08.05.2017

.Сайт программного продукта QtDesigner. URL: https://www.qt.io/ide/, дата обращения 08.05.2017

.Кодировка ICD9. URL: http://icd9.chrisendres.com/, дата обращения 16.04.2017

24.Breiman, Leo (2001). Random forests. Machine Learning 45 (1): 5-32

25.Altman, N.S. (1992). An introduction to kernel and nearest-neighbor nonparametric regression. The American Statistician. 46 (3): 175-185.

26.Greene, William H. (2012). Econometric analysis (Seventh ed.). Boston: Pearson Education. pp. 803-807.