ищем опухоль при помощи логистической регрессии
У всякого безумия есть своя логика
Уильям Шекспир
Машинное обучение — это подраздел искусственного интеллекта (ИИ) и наук о данных, базирующийся на использовании данных и алгоритмов для имитации процесса наработки опыта человеком с постепенным повышением точности.
С помощью статистических методов алгоритмы обучаются классифицировать данные, строить прогнозы и улучшать процессы сбора и анализа данных. Результаты работы моделей могут влиять на дальнейшее принятие решений, в идеале приводя к оптимальному выбору.
В медицине мы постоянно сталкиваемся с обилием данных: достаточно вспомнить, как выглядит история болезни пациента, особенно не с одной госпитализацией. Также постановка диагноза требует анализа всей имеющейся информации по пациенту, что крайне трудозатратно. Попытки внедрить автоматизацию принятия решений медицинскими специалистами уже происходят, например, в визуализирующих методах диагностики, в обработке гистологических изображений.
Попробуем решить одну из диагностических задач методами искусственного интеллекта.
Собственно набор данных (датасет, dataset), над которым мы будем проводить машинлернинговские операции, размещен в открытом доступе на популярной платформе для соревнований по анализу данных Kaggle.
Это сведения о пациентах со злокачественными и доброкачественными опухолями молочной железы.
Задача: предсказать, какой диагноз имеет пациент. Это задача классификации — отнесения объекта к какой-либо категории.
Для начала разберем, как представить диагноз в виде переменной. Это точно не количественная величина, тогда что?
Как мы уже решили, диагноз — это в какой-то степени категория, к которой мы относим случай. При этом значение точно, без промежуточных вариантов. Можно сравнить с днями недели. Если есть точки на графике, обозначающие события определенного дня, то ни одна из точек не может быть между понедельником и вторником. Если что-то произошло в понедельник, то оно произошло в понедельник, — все просто. В нашем случае опухоль или доброкачественная, или злокачественная.
В качестве инструмента для работы с категориальными переменными мы будем использовать логистическую регрессию. Эта модель выдает вероятность соответствия той или иной категории.
Немного о самой модели. Логистическая регрессия — один из статистических методов классификации с использованием линейного дискриминанта Фишера. Она входит в топ часто используемых алгоритмов при исследовании данных.
Значением функции является вероятность того, что данное исходное значение принадлежит к определенному классу. Представим, что у нас есть какое-то пространство, в котором в виде точек размещены наши исходные значения. Мы можем поделить это пространство с помощью линейной плоскости на подпространства, в которых будут близкие значения, наиболее вероятно принадлежащие одному классу (типу, категории). Уже упомянутый линейный дискриминант Фишера определяет направления, проекции на которые лучше всего разделят классы. В итоге получаются разделяющие линейные плоскости.
Для реализации наших целей будем использовать Google Colab или Jupyter Notebook (не будем погружаться в аспекты его установки, просто воспользуемся версией в браузере, далее выбираем Try Classic Notebook).
Я опишу работу в Google Colab. Блоки кода добавляются с помощью «+Код», запускается код с помощью кнопки со стрелкой слева.
Сначала призовем все необходимые инструменты — готовый код в виде библиотек с уже реализованными за нас функциями, которые мы будем использовать
Загружаем данные по пациентам (скачанные с Kaggle) для работы в ноутбуке. Для этого в поле слева выбираем «Файлы», затем «Загрузить в сессионное хранилище». Последнее означает, что, к сожалению, данные будут храниться лишь во время текущей сессии, то есть после закрытия коллабного ноутбука они исчезнут, как Золушка с бала, и их вновь придется загружать.
С помощью команды .head выведем несколько начальных строк нашей таблички (формат .csv, в котором представлены данные по пациентам, это такой табличный подвид)
Вывод программы («голова» таблички)
Посмотрим, что у нас за данные
Итак, выяснили, какие есть столбцы, сколько в каждом столбце ненулевых значений, а также какого типа данные в каждом из столбцов. Проверим, есть ли пропуски в значениях.
Нам повезло: нулевых значений ноль. Значит, не нужно как-то заполнять либо наоборот, удалять такие случаи и уменьшать количество пациентов в выборке.
Нам не нужны столбцы «id» и «Unnamed: 32», поскольку они не играют никакой роли в прогнозировании. Удаляем их
Далее нам нужно закодировать значения столбца «диагноз» (который сейчас представлен в виде букв «М» [malignant, злокачественный] и «В» [benign, доброкачественный]) в их числовые представления.
Обозначим входные и выходные данные:
Нашу модель надо сначала обучить, а потом проверить, как она справилась с этой задачей (протестировать). Для этого разобьем данные на тестовые и тренировочные. В качестве инструмента будем использовать модуль train_test_split библиотеки scikit-learn.
Затем необходимо стандартизировать данные. Для «скармливания» модели необходимо, чтобы распределение имело среднее значение 0 и стандартное отклонение 1. Это сделает StandardScaler.
Наконец, призываем непосредственно нашу логистическую регрессию, все из той же библиотеки scikit-learn.
Проверим эффективность нашей логистической регрессии.
Начнем с confusion matrix (матрица ошибок). Матрица представлена в выводе программы в прямоугольных скобках: общие для всей матрицы и внутри отдельные для каждой строки.
Здесь ŷ — это ответ алгоритма на объекте (то, что предсказала модель), y — истинная метка класса на этом объекте (то, как это было указано в нашем изначальном датасете).
Accuracy — это доля правильных ответов алгоритма, получилось (с округлением) 0,977 или 97,7 %.
Формула для расчета accuracy:
где TP — True Positive; TN — True Negative; FP — False Positive; FN — False Negative.
Итак, модель справилась неплохо. Можно ли еще лучше, проверим на других моделях в новых статьях.
Ссылки на ноутбук:
https://github.com/KsenyaZ-8/b…
- https://colab.research.google.com/drive/1h_20UEt-MlNWQLhsaDseqOe8n0L7YPwx?usp=sharing
Выбор предикторов для моделей классификации и прогноза в медицине
1. Altman DG, Vergouwe Y, Royston P, Moons KGM. Prognosis and prognostic research: validating a prognostic model. BMJ (Clinical research ed.). 2009; 338: b605. doi: 10.1136/bmj.b605.
2. van Beek PE, Andriessen P, Onland W, Schuit E. Prognostic Models Predicting Mortality in Preterm Infants: Systematic Review and Meta-analysis. Pediatrics. 2021; 147(5): e2020020461. doi: 10.1542/peds.2020-020461.
3. Van Calster B, Wynants L, Timmerman D, Steyerberg EW, Collins GS. Predictive analytics in health care: how can we know it works? Journal of the American Medical Informatics Association: JAMIA. 2019; 26(12): 1651-1654. doi: 10.1093/jamia/ocz130.
4. Andrade C. Sample Size and its Importance in Research. Indian Journal of Psychological Medicine. 2020; 42(1): 102-103. doi: 10.4103/IJPSYM.IJPSYM_504_19.
5. Pourhoseingholi MA, Vahedi M, Rahimzadeh M. Sample size calculation in medical studies. Gastroenterology and Hepatology from Bed to Bench. 2013; 6(1): 14-17.
6. Chowdhury MZI, Turin TC. Variable selection strategies and its importance in clinical prediction modelling. Family Medicine and Community Health. 2020; 8(1): e000262. doi: 10.1136/fmch-2019-000262.
7. Chen R-C, Dewi C, Huang S-W, Caraka RE. Selecting critical features for data classification based on machine learning methods. Journal of Big Data. 2020; 7(1): 52. doi: 10.1186/s40537-020-00327-4.
8. Staartjes VE, Kernbach JM, Stumpo V, van Niftrik CHB, Serra C, Regli L. Foundations of Feature Selection in Clinical Prediction Modeling. Acta Neurochirurgica. Supplement. 2022; 134: 51-57. doi: 10.1007/978-3-030-85292-4_7.
9. Li L. Dimension reduction for high-dimensional data. Methods in Molecular Biology (Clifton, N.J.). 2010; 620: 417-434. doi: 10.1007/978-1-60761-580-4_14.
10. Ameringer S, Serlin RC, Ward S. Simpson’s Paradox and Experimental Research. Nursing research. 2009; 58(2): 123-127. doi: 10.1097/NNR.0b013e318199b517.
11. Kim JH. Multicollinearity and misleading statistical results. Korean Journal of Anesthesiology. 2019; 72(6): 558-569. doi: 10.4097/kja.19087.
12. Zhang Z. Variable selection with stepwise and best subset approaches. Annals of Translational Medicine. 2016; 4(7): 136. doi: 10.21037/atm.2016.03.35.
13. Tibshirani R. The lasso method for variable selection in the Cox model. Statistics in Medicine. 1997; 16(4): 385–395. doi: 10.1002/(sici)1097-0258(19970228)16:43.0.co;2-3.
14. Rigatti SJ. Random Forest. Journal of Insurance Medicine (New York, N.Y.). 2017; 47(1): 31-39. doi: 10.17849/insm-47-01-31-39.1.
16. Sun GW, Shook TL, Kay GL. Inappropriate use of bivariable analysis to screen risk factors for use in multivariable analysis. Journal of Clinical Epidemiology. 1996; 49(8): 907-916. doi: 10.1016/0895-4356(96)00025-x.
17. Dziak JJ, Coffman DL, Lanza ST, Li R, Jermiin LS. Sensitivity and specificity of information criteria. Briefings in Bioinformatics. 2020; 21(2): 553-565. doi: 10.1093/bib/bbz016.
18. Thompson HW, Mera R, Prasad C. The Analysis of Variance (ANOVA). Nutritional Neuroscience. 1999; 2(1): 43-55. doi: 10.1080/1028415X.1999.11747262.
определение регрессии по медицинскому словарю
Относящиеся к регрессии: регрессионный анализ, уравнение регрессии, линейная регрессия, корреляция
регрессия
[ре-грешун]1. возврат в прежнее или более раннее состояние.
2. стихание симптомов или болезненного процесса.
3. в биологии, тенденция в последующих поколениях к среднему.
4. бессознательный защитный механизм, используемый для разрешения конфликта или фрустрации путем возврата к поведению, которое было эффективным в предыдущие годы. Некоторая степень регрессии часто сопровождает соматическое заболевание. Психически больные могут демонстрировать крайнюю степень регрессии, полностью возвращаясь к инфантильному поведению; это называется атавистическая регрессия. прил., прил. регрессивный.
Энциклопедия и словарь Миллера-Кина по медицине, сестринскому делу и смежным вопросам здравоохранения, седьмое издание. © 2003, Saunders, издательство Elsevier, Inc. Все права защищены.
регрессия
(rē-gresh’n),1. Затихание симптомов.
2. Рецидив; возвращение симптомов.
3. Любое ретроградное движение или действие.
4. Возврат к более примитивному способу поведения из-за неспособности адекватно функционировать на более взрослом уровне.
5. Бессознательный защитный механизм, с помощью которого происходит возврат к более ранним моделям адаптации.
6. Распределение одной случайной величины при определенных значениях других соответствующих ей переменных (например, формула распределения веса в зависимости от роста и окружности груди). Метод был сформулирован Гальтоном в его исследовании количественной генетики.
[Л. regredior, pp. -gressus, вернуться]
Медицинский словарь Farlex Partner © Farlex 2012
1. Процесс или пример регрессии к менее совершенному или менее развитому состоянию.
2. Психология Возвращение к более ранней или менее зрелой модели чувств или поведения.
3. Медицина Угасание симптомов или процесса болезни.
4. Статистика Метод прогнозирования значения зависимой переменной как функции одной или нескольких независимых переменных при наличии случайной ошибки.
Медицинский словарь American Heritage® Copyright © 2007, 2004, компания Houghton Mifflin. Опубликовано компанией Houghton Mifflin. Все права защищены.
регрессия
Любой возврат к исходному состоянию. См. Атавистическая регрессия, Обобщенная аддитивная логистическая регрессия, Гипнотическая возрастная регрессия, Регрессия наименьших квадратов, Линейная регрессия, Регрессия в прошлые жизни, Психорегрессия. Медицинский разговор. Утихание болезни Sx или возвращение к состоянию здоровья. , сознательное или бессознательное желание вернуться-регрессировать в состояние зависимости, как в инфантильном паттерне реагирования или мышления, который возникает при нормальном сне, игре, физическом заболевании и при различных психических расстройствах.Краткий словарь современной медицины McGraw-Hill. © 2002 The McGraw-Hill Companies, Inc.
регрессия
(rĕ-gresh’ŭn)1. Исчезновение симптомов.
2. Рецидив; возвращение симптомов.
3. Любое ретроградное движение или действие.
4. Возврат к более примитивному поведению из-за неспособности адекватно функционировать на более взрослом уровне.
5. Склонность потомков исключительных родителей обладать характеристиками, более близкими к характеристикам населения в целом.
6. Бессознательный защитный механизм, с помощью которого происходит возврат к более ранним моделям адаптации.
7. Распределение одной случайной величины при определенных значениях других переменных, относящихся к ней (например, формула распределения веса в зависимости от роста и окружности груди).
[Л. re-gredior, стр. -gressus, вернуться]
Медицинский словарь для работников здравоохранения и ухода за больными © Farlex 2012
регрессия
1. Психоаналитический термин, означающий возврат к детской или более примитивной форме поведения или мышления, например, от генитальной к оральной стадии.
2. Психологический термин, обозначающий временное возвращение к менее зрелой форме мышления в процессе обучения тому, как справляться с новой сложностью. Когнитивные психологи рассматривают такую регрессию как нормальную часть психического развития.
3. Статистический термин, определяющий отношение двух переменных, при котором изменение одной (независимой переменной) всегда связано с изменением среднего значения другой (зависимой переменной).
Медицинский словарь Коллинза © Robert M. Youngson 2004, 2005
Регрессия
В психологии возврат к более ранним, обычно детским или инфантильным, моделям мышления или поведения.
Упоминается в: Тяжелая утрата, Стокгольмский синдром
Медицинская энциклопедия Гейла. Copyright 2008 The Gale Group, Inc. Все права защищены.
регрессия
(rĕ-gresh’n)1. Уменьшение симптомов.
2. Рецидив; возвращение симптомов.
3. Любое ретроградное движение или действие.
[Л. re-gredior, стр. -gressus, , чтобы вернуться]
Медицинский словарь для стоматологов © Farlex 2012
Преобразование ландшафта здравоохранения с помощью статистики
Анвая ПимпалеАнвая Пимпале
Приобретение талантов @Scrubbi | кандидат КППЧ
Опубликовано 20 октября 2020 г.
+ Подписаться
Что такое регрессия?
Регрессионный анализ представляет собой набор статистических методов, используемых для определения, исследования или оценки взаимосвязи между двумя или более переменными. Существует много типов регрессионного анализа, однако их основная функция заключается в изучении влияния одной или нескольких независимых переменных на зависимую переменную. Регрессия также используется в прогнозировании и прогнозировании, где ее использование существенно совпадает с областью машинного обучения. Он широко используется в финансах и инвестициях, а также может использоваться другими предприятиями.
Существует множество форм регрессии. Однако наиболее часто используются два из них: линейная регрессия и логистическая регрессия. Это первые алгоритмы, которые люди изучают в науке о данных.
Почему мы используем регрессию?
Регрессионный анализ оценивает взаимосвязь между двумя или более переменными. Давайте разберемся с этим на простом примере:
Допустим, вы хотите оценить рост продаж компании на основе текущих экономических условий. У вас есть последние данные компании, которые показывают, что рост продаж примерно в два с половиной раза превышает рост экономики. Используя это понимание, мы можем прогнозировать будущие продажи компании на основе текущей и прошлой информации.
Регрессия в секторе здравоохранения:
- Регрессионный анализ может использоваться для прогнозирования продолжительности пребывания (LOS) в больнице
- Регрессия использовалась для прогнозирования затрат на здравоохранение для отдельных лиц на основе некоторых переменных.
- Прогнозирование общего времени хирургического вмешательства для обеспечения эффективного использования операционных (ОТ).
Преимущества регрессионного анализа:
- Он обеспечивает функциональную взаимосвязь между двумя или более связанными переменными
- Помогает в прогнозировании и прогнозировании
- Повышает эффективность бизнеса
- Поддерживает бизнес-решения
- Анализ результатов и исправление ошибок
- Поиск новых возможностей
Ограничения регрессионного анализа: 901 94
- Предполагается, что причина и следствие связь между переменными остается неизменной.