Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/6736
Title: Застосування методів аналізу даних і машинного навчання в медицині на основі ансамблевих моделей
Authors: Федоров, Євген Євгенович
Ткаченко, Олександр Сергійович
Keywords: МАШИННЕ НАВЧАННЯ, МЕДИЧНА ДІАГНОСТИКА, АНСАМБЛЕВІ МЕТОДИ, СТЕКІНГ, TOP-K ACCURACY, ПРОГРАМНИЙ ЗАСТОСУНОК;MACHINE LEARNING, MEDICAL DIAGNOSIS, ENSEMBLE METHODS, STACKING, TOP-K ACCURACY, SOFTWARE APPLICATION
Issue Date: 18-Dec-2025
Abstract: Кваліфікаційна робота магістра присвячена розробленню гібридної ансамблевої системи для автоматизованої медичної діагностики на основі аналізу багатовимірних біомедичних даних. Актуальність теми зумовлена зростанням обсягів клінічної інформації та необхідністю підвищення точності й надійності рішень у медичній практиці. Об’єктом дослідження є процеси виявлення прихованих закономірностей у симптоматиці та класифікації нозологічних форм, а предметом — математичні моделі та методи ансамблевого машинного навчання в умовах невизначеності та розріджених даних. У роботі розроблено програмний комплекс із графічним інтерфейсом, що реалізує повний цикл автоматизованої діагностики та формує ймовірнісні оцінки захворювань. Запропонована система виконує функцію «другої думки» лікаря, підвищуючи точність виявлення патологій, зокрема рідкісних, та зменшуючи ризик діагностичних помилок. Результати дослідження апробовано на міжнародній науково-практичній конференції.
The master’s thesis is devoted to the development of a hybrid ensemble system for automated medical diagnosis based on the analysis of multidimensional biomedical data. The relevance of the study is driven by the rapid growth of clinical information and the need to improve the accuracy and reliability of diagnostic decisions. The object of the research is the identification of latent patterns in symptom data and the classification of diseases, while the subject includes mathematical models and ensemble machine learning methods under conditions of uncertainty and data sparsity. The work presents a software system with a graphical user interface that implements the full diagnostic workflow and provides probabilistic assessments of possible diseases. The proposed solution acts as a “second opinion” tool for physicians, reducing the risk of missing rare pathologies and improving overall diagnostic quality. The main results were presented at an international scientific and practical conference.
URI: https://er.chdtu.edu.ua/handle/ChSTU/6736
Appears in Collections:112 Статистика (Аналіз даних (DATA SCIENCE) та комп'ютерна статистика)

Files in This Item:
File Description SizeFormat 
ТКАЧЕНКО О.С. Кваліфікаційна робота магістра.pdf
  Restricted Access
3.32 MBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
 
 
 
2 
РЕФЕРАТ 
 Магістерська кваліфікаційна робота складається зі вступу, трьох розділів, 
висновків, списку використаних джерел та додатків. Обсяг роботи становить 60 
сторінок основного тексту, містить 22 рисунків, 3 таблиці, 17 найменувань у списку 
використаних джерел і 3 додатки. 
 Актуальність теми. Величезні обсяги клінічних даних потребують 
автоматизованих інструментів аналізу, здатних мінімізувати лікарські помилки. 
Перспективним є створення гібридних ансамблевих систем, здатних компенсувати 
недоліки окремих алгортитмів. 
 Об’єтом дослідження є процес аналізу багатовимірних біомедичних даних, 
виявлення латентних закономірностей у симптоматиці та класифікація 
нозологічних форм. 
 Предметом дослідження є математичні моделі та методи ансамблевого 
машинного навчання, стратегії агрегації рішень в умовах невизначеності та 
розрідженості інформації для задач медичної діагностики. 
 Метою дослідження є підвищення показників точності, надійності та 
клінічної релевантності автоматизованого діагностування захворювань шляхом 
розробки та програмної реалізації гібридної ансамблевої системи. 
 Практичне значне одержаних результатів полягає у розробці програмного 
комлексу із графічним інтерфейсом, який реалізує повний цикл діагностики: від 
вибору пацієнта до розподілу ймовір"ностей. Система виконує функцію «другої 
думки», знижуючи ризик пропуску рідкісних пактологій. 
 Апробація результатів. Основні положення дослідження були представлені 
на II міжнародній науково-практичній студентській конференції «IT простір 
сьогодення: тенденції, інновації та перспективи розвитку». 
 Ключові слова: машинне навчання, медична діагностика, ансамблеві методи, 
стекінг, Top-K Accuracy,  програмний застосунок. 
 
 
3 
 ABSTRACT 
 The Master's qualification paper consists of an introduction, three chapters, 
conclusions, a list of references, and appendices.The volume of the work is 60 pages of 
main text; it contains 22 figures, 3 tables, 17 items in the list of references, and 3 
appendices. 
 Relevance of the topic. Huge volumes of clinical data require automated analysis 
tools capable of minimizing medical errors. The creation of hybrid ensemble systems 
capable of compensating for the shortcomings of individual algorithms is promising. 
 The object of the study is the process of analyzing multidimensional biomedical 
data, identifying latent patterns in symptomatology, and classifying nosological forms. 
 The subject of the study is mathematical models and methods of ensemble machine 
learning, decision aggregation strategies under conditions of uncertainty and information 
sparsity for medical diagnosis tasks. 
 The goal of the study is to increase the accuracy, reliability, and clinical relevance 
of automated disease diagnosis by developing and implementing a hybrid ensemble 
system in software. 
 The practical significance of the obtained results lies in the development of a 
software complex with a graphical interface that implements the full diagnostic cycle: 
from patient selection to probability distribution. The system performs a "second opinion" 
function, reducing the risk of missing rare pathologies. 
 Approbation of results. The main provisions of the study were presented at the II 
International Scientific and Practical Student Conference "IT Space of the Present: 
Trends, Innovations, and Development Prospects." 
 Keywords: machine learning, medical diagnosis, ensemble methods, stacking, 
Top-K Accuracy, software application. 
 
 
 
4 
Зміст 
ВСТУП .............................................................................................................................. 7 
1 ОГЛЯД МЕТОДІВ МАШИННОГО НАВЧАННЯ В МЕДИЧНІЙ 
ДІАГНОСТИЦІ .............................................................................................................. 11 
1.1 Еволюція методів автоматизованої діагностики ........................................... 11 
1.1.1 Етап експертних систем та логічних правил (1970 р.) .............................. 11 
1.1.2 Період імовірнісних моделей та лінійної класифікації (1990 р.) ............. 11 
1.1.3 Етап статистичного навчання (2000 р.) ...................................................... 12 
1.1.4 Етап глибокого навчання та нейронних мереж (2010 р.) .......................... 12 
1.2 Використання машинного навчання в клінічній медицині .......................... 13 
1.2.1 Аналіз медичних зображень, радіологія та цифрова патологія ............... 13 
1.2.2 Прогностична аналітика на основі електронних медичних записів ........ 14 
1.2.3 Прискорення розробки лікарських препаратів .......................................... 14 
1.2.4 Геноміка та персоналізована медицина ...................................................... 15 
1.2.5 Виклики та проблеми впровадження .......................................................... 15 
1.3 Стан наукових досліджень у сфері медичної діагностики ........................... 16 
1.4 Особливості та проблеми аналізу медичних даних ....................................... 17 
1.4.1 Багатовимірність простору ознак ................................................................ 17 
1.4.2 Проблема розрідженості даних ................................................................... 18 
1.4.3 Незбалансованість класів ............................................................................. 19 
1.5 Алгоритми машинного навчання .................................................................... 20 
1.5.1 Лінійна регресія ............................................................................................. 20 
1.5.2 Логістична регресія ....................................................................................... 20 
1.5.3 Наївний баєсівський класифікатор ............................................................. 21 
1.5.4 Метод k-найближчих сусідів ....................................................................... 21 
1.5.5 Метод опорних векторів ............................................................................... 21 
1.5.6 Дерева рішень ................................................................................................ 22 
1.5.7 Випадковий ліс .............................................................................................. 22 
1.5.8 Градієнтний бустинг ..................................................................................... 23 
1.5.9 XGBoost .......................................................................................................... 23 
1.5.10 LightGBM ................................................................................................... 23 
1.5.11 CatBoost ...................................................................................................... 24 
1.5.12 Штучні нейронні мережі .......................................................................... 24 
5 
1.6 Теоретичні основи ансамблевих методів........................................................ 24 
1.6.1 Беггінг ............................................................................................................. 26 
1.6.2 Бустинг ........................................................................................................... 26 
1.6.3 Стекінг та Блендінг ....................................................................................... 27 
1.7 Постановка задачі дослідження ....................................................................... 27 
1.8 Проміжні висновки ........................................................................................... 28 
2 МЕТОДИКА ПІДГОТОВКИ ДАНИХ ТА ПРОЕКТУВАННЯ АРХІТЕКТУР 
МОДЕЛЕЙ ..................................................................................................................... 30 
2.1 Попередня обробка даних ................................................................................ 30 
2.1.1 Опис даних ..................................................................................................... 30 
2.1.2 Характеристика даних .................................................................................. 30 
2.1.3 Аналіз дисбалансу класів ............................................................................. 31 
2.1.4 Аналіз розрідженості даних ......................................................................... 31 
2.1.5 Візуалізація простору ................................................................................... 32 
2.1.6 Кодування цільової змінної ......................................................................... 33 
2.1.7 Методологія формування вибірок ............................................................... 33 
2.2 Логістична модель............................................................................................. 34 
2.3 Наївний байєсівський класифікатор ............................................................... 35 
2.4 Алгоритм випадкового лісу ............................................................................. 36 
2.5 Градієнтний бустинг (XGBoost) ...................................................................... 37 
2.6 Нейронна мережа .............................................................................................. 39 
2.6.1 Вибір функції активації ................................................................................ 40 
2.6.2 Механізми регуляризації .............................................................................. 41 
2.6.3 Алгоритм оптимізації та функція втрат ...................................................... 41 
2.6.4 Керування навчанням ................................................................................... 42 
2.7 Обчислювальна складність алгоритмів .......................................................... 42 
2.7.1 Наївний баєсівський класифікатор ............................................................. 43 
2.7.2 Логістична регресія ....................................................................................... 43 
2.7.3 Випадковий ліс .............................................................................................. 43 
2.7.4 XGBoost .......................................................................................................... 44 
2.7.5 Нейронна мережа .......................................................................................... 44 
2.8 Методологія оцінки якості моделей ................................................................ 45 
6 
2.9 Обгрунтування вибору алгоритмів для ансамблю ........................................ 45 
2.10 Проміжні висновки ........................................................................................... 47 
3 ПРОГРАМНА РЕАЛІЗАЦІЯ ТА ЕКСПЕРЕМЕНТАЛЬНЕ ДОСЛІДЖЕННЯ . 49 
3.1 Балансування та підготовка даних .................................................................. 49 
3.2 Реалізація моделей ............................................................................................ 50 
3.2.1 Реалізація логістичної регресії .................................................................... 50 
3.2.2 Реалізація Наївного байєса ........................................................................... 51 
3.2.3 Реалізація випадкового лісу ......................................................................... 51 
3.2.4 Реалізація XGBoost ....................................................................................... 52 
3.2.5 Реалізація нейронної моделі ........................................................................ 52 
3.3 Побудова ансамблю .......................................................................................... 53 
3.4 Точність та порівняння моделей ...................................................................... 54 
3.5 Опис графічного інтерфейса ............................................................................ 58 
3.5.1 Ініціалізація системи ..................................................................................... 58 
3.5.2 Головне вікно................................................................................................. 59 
3.5.3 Модуль керування пацієнтами та симптомами ......................................... 60 
3.5.4 Візуалізація результатів діагностики .......................................................... 61 
3.6 Оцінювання ефективності прикладного рішення .......................................... 62 
3.7 Перспективи подальшого розвитку ................................................................. 63 
3.8 Проміжні висновки ........................................................................................... 64 
ВИСНОВКИ ................................................................................................................... 66 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ..................................................................... 67 
ДОДАТОК А. Специфікація ........................................................................................ 69 
ДОДАТОК Б. Інструкція користувача ........................................................................ 71 
ДОДАТОК В. Опис датасету ....................................................................................... 76 
ДОДАТОК Г. Текст програми ................................................................................... 107 
 
 
 
7 
ВСТУП 
 Актуальність теми. На сучасному етапі науково-технічного прогресу 
світова система охорони здоров’я переживає період фундаментальної 
парадигмальної трансформації, що характеризується переходом від традиційної 
реактивної моделі до концепції прецизійної медицини. Глобальні процеси 
цифровізації, зокрема повсюдне впровадження електронних медичних записів та 
розвиток телемедичних платформ, призвели до експоненційно зростаючих обсягів 
клінічних даних. Це явище створило парадоксальну ситуацію в клінічній практиці, 
коли медичні фахівці мають доступ до величесної кількості інформації про 
пацієнтів, проте фізіологічні обмеження ресурсів людей-лікарів та обмежений час 
прийому унеможливлюють її глибокий, всебічний аналіз у режимі реального часу. 
 Згідно з результатами авторитетних міжнародних досліджень [1-2], частота 
діагностичних помилок у світовій практиці становить від 10% до 15% клінічних 
випадків, що не лише призводить до тяжких, а іноді й незворотних наслідків для 
здоров’я пацієнта, але й завдає значних економічних збитків системам охорони 
здоров’я. Особливу складність та високий рівень невизначеності становить 
диференційна діагностика на етапі первинного огляду, коли симптоматика 
рідкісних або орфанних захворювань може бути замаскована під клінічну картину 
поширених патологій, що підвищує ризик помилкового лікування. 
 Існуючі на ринку системи підтримки прийняття клінічних рішень часто 
стикаються з фундаментальною проблемою компромісу точності та 
інтерпретованості. Класичні лінійні моделі забезпечують необхідну прозорість 
рішень, але виявляються недостатньо точними для моделювання складних 
нелінійних залежностей. Водночас сучасні методи глибокого навчання, 
демонструючи високу точність, часто функціонують за принципом «чорної 
скриньки» та характеризуються схильністю до перенавчання на незбалансованих 
вибірках, що є типовим для медичної статистики. 
 Відповідно до фундаментальної теореми про «відсутність безкоштовних 
обідів» [3] в теорії оптимізації, не існує універсального алгоритму, який був би 
8 
апріорі найефективнішим для вирішення всіх класів задач на всіх типах даних. У 
зв’язку з цим, актуальним науково-прикладним завданням вбачається відмова від 
пошуку ідеальної моделі на користь розробки гібридних ансамблевих систем. Такі 
системи, базуючись на синергійному поєднанні різнорідних математичних підходів 
здатні компенсувати індивідуальні зміщення окремих алгоритмів, забезпечуючи 
високу робастність, стійкість до шумів та надійність діагностичного висновку. 
 Об’єкт дослідження – процес аналізу багатовимірних біомедичних даних, 
виявлення латентних закономірностей у симптоматиці та класифікації 
нозологічних форм. 
 Предмет дослідження – математичні моделі та методи ансамблевого 
машинного навчання, стратегії агрегації рішень в умовах невизначеності та 
розрідженості інформації для задач медичної діагностики 
 Мета та завдання дослідження. Основною метою роботи є підвищення 
показників точності, надійності та клінічної релевантності автоматизованого 
діагностування захворювань шляхом розробки та програмної реалізації гібридної 
ансамблевої системи, що здійснює інтелектуальну агрегацію прогнозів різнорідних 
методів машинного навчання. 
Для досягнення поставленої мети необхідно вирішити такі завдання: 
1 Проаналізувати сучасний стан методів машинного навчання в медичній 
діагностиці, виявити обмеження існуючих підходів при роботі з розрідженими 
та незбалансованими даними. 
2 Обгрунтувати і побудувати архітектуру базових моделей та мета-класифікатора 
для створення гетерогенного ансамблю. 
3 Здійснити програмну реалізацію гібридної системи діагностики та провести 
експериментальне дослідження її ефективності з використанням метрик Top-K 
Accuracy. 
4 Розробити рекомендації щодо практичного застосування створеної системи як 
інструменту підтримки прийняття лікарських рішень. 
 
9 
 Методи досліджень. У роботі використано комплекс сучасних методів 
аналізу даних:  
• Теоретичні методи – аналіз та узагальнення наукових джерел для виявлення 
проблем діагностики в умовах невизначеності.  
• Математичні та статистичні методи – методи лінійної алгебри для векторного 
представлення простору ознак та операцій з матрицями, методи 
математичної статистики для розвідувального аналізу даних, обробки 
викидів та боротьби з дисбалансом класів. 
• Методи машинного навчання – імовірносні класифікатори (наївний 
баєсівський класифікатор та логістична регресія) як базові моделі. 
Ансамблеві методи (випадковий ліс та XGBoost) для підвищення стійкості до 
шуму. Методи глибокого навчання (багатошарові перцептрони) для 
виявлення нелінійних патернів. Метод стекінгу для агрегації прогнозів. 
• Комп’ютерні та емпіричні методи – програмна реалізація розроблених 
архітектур мовою Python з використанням бібліотек для обробки даних 
(Pandas, NumPy) та машинного навчання (Scikit-learn, XGBoost, 
Keras/TensorFlow). Порівняльний аналіз ефективності алгоритмів за 
метриками Top-K Categorical Accuracy та Log-loss. 
 Наукова новизна отриманих результатів: 
• Удосконалено метод автоматизованої діагностики захворювань шляхом 
створення гібридного ансамблю, який інтегрує лінійні класифікатори з 
нелінійними моделями різної математичної природи, що дозволяє 
забезпечити статистичну незалежність помилок та підвищити надійність 
прогнозу. 
• Набуло подальшого розвитку застосування метрики Top-K Accuracy як 
основного критерію ефективності діагностичних систем, що дозволяє 
оцінювати здатність моделі формувати коректний ранжований список 
ймовірних діагнозів, а не лише одну детерміновану відповідь, що краще 
відповідає потребам клінічної практики 
10 
 Практичне значення одержаних результатів. На основі проведених 
досліджень розроблено програмний комплекс медичного асистента, який дозволяє 
здійснювати експрес-діагностику пацієнтів на основі введених симптомів. Система 
генерує ранжований перелік з найбільш вірогідних діагнозів зі значенням рівня 
впевненості для кожної моделі.  
 Апробація результатів. Основні положення та результати дослідження 
доповідалися й обговорювалися на II Міжнародній науково-практичній 
студентській конференції «IT-простір сьогодення: тенденції, інновації та 
перспективи розвитку». 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11 
1 ОГЛЯД МЕТОДІВ МАШИННОГО НАВЧАННЯ В МЕДИЧНІЙ 
ДІАГНОСТИЦІ 
1.1 Еволюція методів автоматизованої діагностики 
1.1.1 Етап експертних систем та логічних правил (1970 р.) 
 Історично першими способами автоматизації діагностики були експертні 
системи на основі правил(Rule-Based Systems), класичним прикладом яких є 
система MYCIN, розроблена в Стенфордському університеті для діагностики 
інфекційних захворювань крові. Такі системи базувалися на використанні логічних 
конструкцій «ЯКЩО-ТО», сформованих лікарями-експертами. Хоча такі системи 
показували високу інтерпретованість, вони виявилися тупиковою гілкою еволюції 
через низку фундаментальних обмежень. По-перше, процес вилучення та 
формалізації інтуїтивних знань експертів був надсвичайно трудомістким та 
повільним. По-друге, такі системи не могли адаптуватися до нових даних без 
повного переписування коду і часто давали збій при зустрічі з суперечливими або 
неповними клінічними картинами, які не були явно передбачені правилами. 
 З теоретичної точки зору, обмеженість підходів експертних систем полягала 
у використанні виключно дедуктивного методу міркувань. Система могла 
оперувати лише тим простором знань, який був явно запрограмований експертом. 
Це призвело до проблеми, відомої як «вузьке місце набуття знань» [4]. Крім того, 
жорстка булева логіка правил не дозволяла коректно моделювати невизначеність, 
притаманну біологічним системам, що згодом стимулювало перехід до 
стохастичних моделей. 
1.1.2 Період імовірнісних моделей та лінійної класифікації (1990 р.) 
 З накопиченням цифрових даних наступним етапом стало застосування 
класичних імовірнісних методів. Наївний баєсівський класифікатор завдяки 
припущенню про незалежність ознак міг бути ефективним навіть на малих 
вибірках, але у медицині ознаки можуть часто корелювати, що порушує базове 
припущення методу.  
12 
 Логістична регресія дозволяла оцінити не тільки ймовірність наявності 
захворювання, але й кількісно виміряти вплив кожного фактора ризику через 
коефіцієнти регресії. Проте, як лінійний класифікатор, вона не здатна моделювати 
складні нелінійні взаємозв’язки між симптомами, що обмежувало її точність у 
складних діагностичних задачах. 
1.1.3 Етап статистичного навчання (2000 р.) 
 На межі століть домінування перейшло до методів, що базуються на теорії 
статистичного навчання. Центральне місце посів метод опорних векторів (SVM). 
Його революційність полягала у використанні «kernel trick», що дозволило 
переводити лінійно нероздільні дані у простір ознак вищої розмірності, де їх 
розділення ставало можливим за допомогою лінійної гіперплощини. Це вирішило 
проблему нелінійності без використання нейромереж, які на той час були важкими 
у навчанні. Паралельно розвивався напрямок ансамблевого навчання. Теоретичним 
проривом стало розуміння того, що комбінація слабких моделей, помилки яких 
некорельовані, здатна необмежено зменшувати дисперсію помилки, що дозволило 
створювати стійкі робастні моделі, які стали стандартом для табличних медичних 
даних. 
1.1.4 Етап глибокого навчання та нейронних мереж (2010 р.) 
 Сучасний етап характеризується домінуванням методів «чорної скрині», 
зокрема штучних нейронних мереж та глибокого навчання. На відміну від 
попередників багатошарові перцептрони здатні апроксимувати будь-яку 
неперервну функцію, знаходячи приховані патерни у даних. Використання функції 
активації та глибоких архітектур дозволяє моделювати складні нелінійні 
залежності між симптомами та хворобами, що значно підвищує точність порівняно 
з лінійними моделями. Головним недоліком є важкість інтерпретування 
результатів, що вимагає розробки додаткових модулів для пояснення.  
 
13 
1.2 Використання машинного навчання в клінічній медицині 
 Інтеграція методів машинного навчання та штучного інтелекту у систему 
охорони здоров’я є одним із найбільш значущих технологічних трендів XXI 
століття, що трансформує саму філософію лікарської практики. Цей процес 
зумовлює фундаментальний парадигмальний зсув від реактивної моделі медицини, 
коли лікування хвороби відбувається після появи клінічних симптомів, до 
концепції P4 Medicine: 
• predictive – передбачення ризиків до їх реалізації 
• preventive – запобігання розвитку патологій 
• personalized – адаптація терапії під унікальний профіль пацієнта 
• participatory – активне залучення пацієнта до контролю власного здоров’я 
1.2.1 Аналіз медичних зображень, радіологія та цифрова патологія 
 Найбільш зрілою та успішною сферою застосування машинного навчання є 
обробка візуальних даних. Алгоритми комп’ютерного зору, зокрема глибокі 
згорткові мережі та трансформери візуального типу, демонструють результати, що 
є порівнянними або навіть перевершують точність досвідчених лікарів-радіологів 
у задачах детекції та сегментації [5]. 
 Сучасні AI-системи здатні не просто знаходити пухлини, а й вилучати 
кількісні ознаки з зображень, які невидимі для людського ока. Це дозволяє 
автоматично виявляти злоякісні новоутворення на мамограмах, вузлики в легенях 
на КТ та метастази на МРТ. Системи CAD виступають як «друга пара очей», 
знижуючи відсоток пропущених патологій через втому лікаря [6]. 
 ML-алгоритми аналізують гістологічні слайди високої роздільної здатності 
для підрахунку мітозів, оцінки ступеня агресивності пухлини та виявлення 
рідкісних біомаркерів, що значно прискорює постановку онкологічного діагнозу. 
Нейромережі, навчені на сотнях тисяч клінічних знімків, класифікують широкий 
спектр шкірних уражень з точністю понад 95%, що робить скринінг  доступним 
навіть через мобільні додатки [7]. 
14 
 Автоматизована діагностика діабетичної ретинопатії та вікової макулярної 
дегенерації шляхом сегментації судин очного дна дозволяє проводити масовий 
скринінг пацієнтів у групах ризику без участі вузькопрофільних спеціалістів. 
1.2.2 Прогностична аналітика на основі електронних медичних записів 
 Електронні медичні карти перетворилися на масивні сховища гетерогенних 
даних, що включають структуровану інформацію, на кшталт лабораторних 
показників, та неструктурований текст, як лікарські нотатки. Застосування 
алгоритмів класичного навчання у поєднанні з методами обробки природної мови 
дозволяє вирішувати комплексні задачі. 
 Динамічна оцінка ймовірності несприятливих подій, таких як повторна 
госпіталізація протягом 30 днів, розвиток сепсису в умовах реанімації або 
виникнення серцево-судинних патологій у найближчій перспективі. 
 Сучасні мовні моделі здатні автоматично вилучати симптоми, діагнози та 
призначення з текстових описів, перетворюючи їх на структуровані дані для 
подальшого аналізу. 
 ML-системи дозволяють автоматизувати сортування пацієнтів у 
приймальних відділеннях на основі первинних симптомів, життєвих показників та 
історії хвороби, визначаючи пріоритетність надання допомоги та оптимізуючи 
навантаження на медичний персонал [8]. 
1.2.3 Прискорення розробки лікарських препаратів 
 Традиційний процес розробки нових ліків займає приблизно 10-15 років і 
коштує мільярди доларів, причому більшість кандидатів відсіюється на пізніх 
стадіях. Машинне навчання революціонізує цю сферу через методи in silico 
 Використання генеративних змагальних мереж та варіаційних автоенкодерів 
дозволяє створювати нові молекулярні структури з наперед заданими 
фармакологічними властивостями de novo. 
15 
 Проривні моделі, такі як AlphaFold, вирішили 50-річну проблему фолдингу 
білків, точно прогнозуючи їх тривимірну структуру. Це дозволяє моделювати 
взаємодію потенційних ліків з мішенями з безпрецедентною точністю [9]. 
 ML-моделі прогнозують абсорбцію, розподіл, метаболізм, виведення та 
токсичність речовин ще до синтезу, дозволяючи відсіяти небезпечні або 
неефективні сполуки на ранніх етапах. 
1.2.4 Геноміка та персоналізована медицина 
 Секвенування геному людини генерує терабайти необроблених даних, які 
неможливо інтерпретувати без потужних алгоритмів. ML-алгоритми шукають 
складні кореляції між тисячами генетичних варіацій та схильністю до 
мультифакторних захворювань, дозволяючи формувати індивідуальні плани 
профілактики. Аналіз мутаційного профілю пухлини дозволяє алгоритмам 
підбирати таргетну терапію, яка буде ефективною саме проти конкретного клону 
ракових клітин, оминаючи здорові тканини. Прогнозування індивідуальних реакцій 
пацієнта на медикаменти на основі його генетичного паспорту. 
1.2.5 Виклики та проблеми впровадження 
 Незважаючи на вражаючий прогрес, широка імплементація машинного 
навчання у рутинну клінічну практику стикається зі значними перешкодами. 
 Глибокі нейронні мережі часто приймають рішення непрозоро. Для лікарів 
критично важливо розуміти чому алгоритм поставив певний діагноз. Саме тому 
великий попит на методи пояснювального штучного інтелекту, які дозволяють 
візуалізувати внесок ознак у рішення. 
 Вимоги законодавства накладають суворі обмеження на збір та обробку 
даних. Це стимулює розвиток методів федеративного навчання, де модель 
навчається на децентралізованих даних без їх передачі на єдиний сервер. 
 Відсутність єдиних стандартів даних у різних лікарнях ускладнює створення 
універсальних моделей, здатних працювати в різних клінічних середовищах. 
16 
 Таким чином, використання машинного навчання в медицині є не просто 
автоматизацією рутинних процесів, а створення концепції «Розширеного 
інтелекту». У цій парадигмі алгоритм бере на себе обробку великих масивів даних 
і виявлення прихованих закономірностей, тоді як лікар бере на себе функцію 
верифікації, емпатії та прийняття фінального етичного і клінічного рішення. 
1.3 Стан наукових досліджень у сфері медичної діагностики 
 Значний масив досліджень фокусується на глибокому порівняльному аналізі 
перевірених часом алгоритмів (рис. 1.1). 
 
Рисунок 1.1 – Розподіл наукових публікацій за медичними напрямками та роками 
 Автори на великих вибірках демонструють, що для табличних наборів даних, 
де ознаки є чітко визначеними, алгоритми випадкового лісу, наївного ьайєсу та 
метод опорних векторів забезпечують високу стабільність та залишаються 
«базовим стандартом» для галузі [10-11]. Але попри високу точність на 
збалансованих даних існує суттєве обмеження цих методів. Лінійні та прості 
ймовірносні моделі часто не здатні ефективно моделювати складні нелінійні 
17 
кореляції та перехресні взаємодії між симптомами, що дає «стелю» точності на 
рівні 85-90% [12]. 
 Методи глибокого навчання є альтернативним напрямком, який 
зосереджений на використанні глибоких нейронних мереж [13]. Глибокі моделі є 
вибагливими до обсягу даних, а в умовах медичної статистики, де дані про рідкісні 
захворювання є обмеженими, застосування глибоких мереж без належної 
регуляризації призводить до перенавчання. 
 Більшість досліджень фокусуються або виключно на класичних методах, або 
на методах глибокого навчання, рідко розглядаючи їх гібридні комбінації в межах 
одного ансамблю. У багатьох роботах(наприклад, [14]) моделі налаштовані на 
видачу одного найімовірнішого класу.  
 Таким чином, наукова новизна даної роботи полягає  у розробці гібридного 
ансамблю, який інтегрує лінійні класифікатори з нелінійними базовими моделями, 
та впровадженні метрики Top-K Accuracy як основного критерію ефективності, що 
має збільшити практичну цінність такої системи. 
1.4 Особливості та проблеми аналізу медичних даних 
1.4.1 Багатовимірність простору ознак 
 Сучасні діагностичні системи еволюціонували від простих моделей з 
обмеженою кількістю змінних до комплексних платформ, що оперують сотнями, а 
іноді й тисячами параметрів пацієнтів. Простір ознак формується шляхом агрегації 
гетерогенних даних, це можуть бути як і базові клінічні симптоми, так і кількісні 
показники лабораторних досліджень або результати високоточних генетичних 
тестів. 
 У математичному сенсі кожному клінічному випадку ставиться у 
відповідність вектор ознак x = (x1,x2,…,xn) у n-вимірному просторі, де кількість 
ознак n сягає значень порядку 102 – 103. У нашому дослідженні ми розглядаємо 
бінарний простір, де кожна координата сигналізує про наявність або відсутність 
певного симптому, така висока розмірність неминуче призводить до проблеми, 
18 
відомої в теорії машинного навчання як «прокляття розмірності», термін введений 
Річардом Беллманом. 
 Суть цього феномену полягає в тому, що при лінійному збільшенні кількості 
вимірів експоненційно зростає об’єм простору ознак. Наприклад, додавання 
кожного нового бінарного симптому подвоює кількість можливих комбінацій. Щоб 
зберегти статистичну значущість моделі та заповнити простір з тією ж щільністю, 
що й у низьковимірному випадку, необхідний обсяг навчальних даних повинен 
зростати експоненційно, що є фізично недосяжним в умовах реальної медичної 
практики, де збір даних є дорогим та обмеженим процесом.  
 Наслідком високої розмірності є геометричні спотворення, які впливають на 
роботу метричних алгоритмів. У просторах високої розмірності спостерігається 
явище концентрації міри, де відстань між будь-якими двома випадковими точками 
стає приблизно однаковою, а поняття найближчого сусіда втрачає свій 
дискримінативний зміст. Це ускладнює роботу класичних методів кластеризації та 
класифікації, що базуються на Евклідовій метриці. 
1.4.2 Проблема розрідженості даних 
 Специфічною характеристикою наборів даних, сформованих на основі 
анамнезу пацієнтів, є їхня екстремальна розрідженість. У задачах діагностики 
простір ознак формується як об’єднання всіх відомих симптомів, кількість яких 
може сягати сотень або тисяч. Водночас з цим, клінічна картина конкретного 
пацієнта зазвичай складається з вкрай обмеженого набору активних симптомів. 
Математично це означає, що вектор ознак xi складається переважно з нулів, а 
щільність заповнення матриці даних часто становить менше 1%. Така структура 
даних створює фундаментальні перешкоди для стандартних алгоритмів машинного 
навчання, розроблених для щільних векторів. 
 При тренуванні моделей на розріджених даних існує ризик, що алгоритм 
навчиться передбачати клас, спираючись на відсутність симптомів, оскільки вони 
складають статистичну більшість. Це призводить до створення тривіальних 
моделей, які ігнорують рідкісні, але діагностично значущі маркери хвороб.  
19 
1.4.3 Незбалансованість класів 
 Ключовим методологічним викликом при обробці реальних масивів 
медичних даних є виражена асиметрія у розподілі даних . Обмежена кількість 
поширених патологій формують мажоритарні класи, тоді як сотні рідкісних або 
специфічних захворювань представлені у вибірках одиничними клінічними 
випадками.  Цей дисбаланс створює суттєві перешкоди для коректного 
функціонування стандартних алгоритмів машинного навчання 
 Переважна більшість стандартних функцій втрат обчислює помилку як 
середнє арифметичне значення по всій вибірці, але за умов співвідношення класів 
на рівні 100 до 1, внесок міноритарного класу у формування загального градієнта 
помилки стає статистично незначущим. У процесі оптимізації модель схильна 
мінімізувати глобальну помилку шляхом прогнозування виключно мажоритарного 
класу, ігноруючи при цьому рідкісні висновки.  
 Через це виникає парадокс точності. Даний феномен характеризується 
ситуацією, за якої модель демонструє високі показники формальної точності, 
залишаючись при цьому неефективною для практичного застосування. 
 У класичних задачах машинного навчання помилки першого та другого роду 
часто розглядаються як еквівалентні. Проте у сфері медичної діагностики 
спостерігається принципова відмінність у наслідках помилкових рішень: 
• Помилка I роду (False Positive): хибнопозитивна діагностика захворювань у 
здорового пацієнта. Наслідки включають додаткові діагностичні процедури, 
психоемоційне напруження та фінансові витрати, що є небажаним, але 
зазвичай не несе безпосередньої загрози життю. 
• Помилка II роду (False Negative): хибнонегативний результат, або ж пропуск 
патології у хворого пацієнта. Наслідки можуть включати відсутність 
своєчасного лікування, прогресування захворювання та летальний кінець. 
 Стандартні алгоритми, що не адаптовані до чутливості вартості помилок, 
мають тенденцію до мінімізації загальної кількості помилок, що призводить до 
максимізації кількості критичних пропусків рідкісних діагнозів. У зв’язку з цим, 
20 
при проектуванні діагностичних систем необхідним є впровадження 
спеціалізованих методів, таких як зважування класів для загальної компенсації 
дисбалансу та точкове дублювання для критично малих класів-одинаків, з метою 
надання пріоритету ідентифікації саме міноритарних патологій. 
1.5 Алгоритми машинного навчання 
 Для вирішення задач медичної діагностики застосовується великий спектр 
алгоритмів, кожен з яких має як свої переваги, так і обмеження в контексті роботи 
з бінарними симптомами даних. Вибір конкретного методу завжди є компромісом 
між точністю, швидкістю роботи та інтерпретованості. 
1.5.1 Лінійна регресія 
 Лінійна регресія є базовим статистичним методом, призначеним для 
моделювання лінійної залежності між скалярною залежною змінною та однією або 
декількома незалежними змінними.Метод базується на мінімізації суми квадратів 
похибок. Хоча лінійна регресія не використовується безпосередньо для задач 
класифікації хвороб, вона є теоретично фундаментальною для розуміння принципу 
зважування ознак. У медичних задачах вона дозволяє оцінити силу впливу окремих 
факторів ризику на прогресування хвороби, якщо цільова змінна є неперервною. 
1.5.2 Логістична регресія 
 Логістична регресія є адаптацією лінійного підходу до задач класифікації і 
довгий час була «золотим стандартом» у медичній статистиці. Вона моделює 
ймовірність належності пацієнта до класу хвороби за допомогою сигмоїдальної 
функції активації, яка перетворює лінійну комбінацію ознак у значення ймовірності 
в межах (0,1). Важливою перевагою цього методу є висока інтерпретованість, 
коефіцієнти, які показують напрямок та силу впливу кожного симптому можна 
трансформувати у відношення шансів, що є стандартною метрикою в епідеміології. 
21 
Головний недолік методу – лінійність границі прийняття рішень, що робить модель 
нездатною вирішувати задачі з нелінійною взаємодією симптомів.  
1.5.3 Наївний баєсівський класифікатор 
 Це  ймовірносний алгоритм, що базується на теоремі Байєса з припущенням 
про те, що всі ознаки вхідних даних є повністю незалежними одна від одної. Таке 
спрощення дозволяє звести складну задачу багатовимірної класифікації до серії 
простих обчислень, що робить метод надзвичайно швидким та обчислювально 
ефективним, особливо для просторів високої розмірності. Головною перевагою є 
здатність давати прийнятний результат навіть на малих вибірках даних. Однак, 
суттєвим недоліком є те, що в реальних задачах, особливо медичних, ознаки часто 
корелюють між собою, а ігнорування цих залежностей алгоритмом призводить до 
зниження точності прогнозування.  
1.5.4 Метод k-найближчих сусідів 
 Це непараметричний алгоритм «лінивого навчання», який не будує модель 
заздалегідь, а класифікує новий об’єкт на основі голосування k найближчих до 
нього об’єктів з навчальної вибірки. Перевагами такого методу є простота 
реалізації, відсутність тривалого етапу навчання, а також здатність адаптуватися до 
локальних особливостей даних. Але в той же час алгоритм дуже чутливий до 
«прокляття розмірності», де у просторі з сотнями симптомів поняття «відстані» 
втрачає зміст. Крім того, обчислювальна складність на етапі прогнозування зростає 
лінійно з розмірами бази даних, що робить його непридатним до систем реального 
часу. 
1.5.5 Метод опорних векторів  
 Цей метод шукає у багатовимірному просторі гіперплощину, що найкраще 
розділяє класи з максимальною «смугою розділення». Використання «kernel trick» 
дозволяє ефективно працювати з нелінійними даними, неявно проектуючи їх у 
22 
простір вищої розмірності, де розділення стає можливим. Метод опорних векторів 
є потужним інструментом для бінарної класифікації та малих датасетів, але погано 
масштабується для задач із великою кількістю класів. 
1.5.6 Дерева рішень 
 Це непараметричний метод навчання з учителем, що використовується як для 
задач класифікації, так і для регресії. Принцип роботи алгоритму полягає у 
рекурсивному розбитті простору ознак на менші підпростори, формуючи 
ієрархічну структуру правил типу «ЯКЩО-ТО». Побудова дерева відбувається за 
«жадібним» алгоритмом, де на кожному вузлі обирається ознака та порогове 
значення, які забезпечують найкраще розділення класів. Критерієм якості розбиття 
виступають метрики, що оцінюють зменшення невизначеності. Головною 
перевагою дерев рішень є їхня інтерпретованість, однак, поодинокі дерева мають 
суттєвий недолік – високу дисперсію, через що вони схильні до перенавчання. 
1.5.7 Випадковий ліс 
 Випадковий ліс вирішує проблему перенавчання поодиноких дерев шляхом 
використання ансамблевого підходу. Це метод, який базується на технології 
беггінгу. Суть методу полягає у паралельному навчанні сотень незалежних дерев 
рішень. Ключовими особливостями є по-перше бутстреп, завдяки якому кожне 
дерево навчається на власній випадковій підвибірці даних, сформованій методом 
вибірки з поверненням, а по-друге – випадковий простір ознак, де при кожному 
розбитті вузла дерево розглядає не всі доступні симптоми, а лише їх випадкову 
підмножину, що зменшує кореляцію між деревами. Фінальний прогноз формується 
шляхом мажоритарного голосування для класифікації і усередненням для регресії.  
Завдяки усередненню помилок для окремих дерев, метод демонструє високу 
стійкість до шуму та викидів, не вимагає нормалізації даних та забезпечує високу 
точність без складного налаштування гіперпараметрів. 
23 
1.5.8 Градієнтний бустинг 
 Метод ансамблевого навчання, який будує прогностичну модель у вигляді 
зваженої суми слабких базових алгоритмів. На відміну від випадкового лісу, де 
дерева будуються паралельно і незалежно, у бустингу процес є строго послідовним. 
Ідея методу полягає в ітеративному виправленні помилок. Спочатку перша модель 
робить грубий прогноз, після обчислюється різниця між реальним значенням та 
прогнозом. Наступна модель навчається передбачати саме ці залишки, а не цільову 
змінну напряму, процес повторюється, а фінальний результат формується як сума 
прогнозів усіх моделей. Математично цей процес є реалізацією методу 
градієнтного спуску в просторі функцій. Всі нові дерева додаються до ансамблю 
таким чином, щоб мінімізувати задану функцію втрат. Хоч класичний градієнтний 
бустинг і забезпечує високу точність, він схильний до перенавчання при великій 
кількості ітерацій та низьку швидкість навчання через неможливість 
розпаралелювання послідовного процесу. 
1.5.9 XGBoost 
 XGBoost є вдосконаленою реалізацією градієнтного бустингу, яка 
оптимізована для швидкості та продуктивності. Ключовою особливістю є 
використання регуляризації у цільовій функції, що дозволяє ефективно 
контролювати складність моделі та запобігати перенавчанню. Для медичних даних 
критично важливою є здатність методу працювати з розрідженими даними.  
1.5.10 LightGBM 
 Розроблений Microsoft, LightGBM використовує принципово інший підхід до 
побудови дерев – листове зростання. Це дозволяє будувати глибші та складніші 
дерева, що часто призводить до вищої точності. Для прискорення роботи метод 
використовує гістограмні алгоритми та техніку GOSS, яка відкидає екземпляри з 
малими градієнтами, фокусуючись на складних випадках.  
24 
1.5.11 CatBoost 
 Алгоритм розроблений для ефективної роботи з категоріальними ознаками. 
Головною інновацією є використання симетричних дерев рішень, які мають 
однакову структуру розбиття на всіх рівнях. Через це процес передбачення є 
швидким та стійким до перенавчання. CatBoost використовує метод 
впорядкованого бустингу для боротьби зі зміщенням прогнозу, що є поширеною 
проблемою в інших алгоритмах бустингу на малих датасетах. 
1.5.12 Штучні нейронні мережі 
 Багатошарові перцептрони та глибокі мережі імітують роботу людського 
мозку через систему шарів нейронів. Завдяки нелінійним функціям активації та 
алгоритму зворотного поширення помилки, вони здатні виявляти надзвичайно 
складні, ієрархічні патерни у даних. У задачах з великою кількістю класів 
нейромережі часто перевершують інші методи, оскільки здатні формувати 
компактні векторні представлення для вхідних даних. Це дозволяє моделі розуміти, 
що певні групи симптомів корелюють між собою, навіть якщо вони не зустрічались 
у навчальній вибірці. 
1.6 Теоретичні основи ансамблевих методів 
 Ансамблеве навчання є стратегічною парадигмою машинного навчання, що 
базується на гіпотезі, згідно з якою агреговане рішення групи різнорідних 
алгоритмів є статистично більш точним та робастним, ніж рішення будь-якого 
окремого його члена. У контексті медичної діагностики, де ціна помилки є 
критично високою, ансамблювання виступає не просто способом підвищення 
метрик точності,  а механізмом забезпечення надійності та стійкості системи до 
аномалій у даних. 
 Фундаментальним обґрунтуванням ефективності ансамблів є теорема про 
журі присяжних [15]. Вона стверджує, що якщо кожен індивідуальний 
класифікатор має ймовірність правильного рішення більше 0,5 і помилки 
25 
класифікаторів є статистично незалежними, то ймовірність правильного рішення 
більшістю голосів прямує до 1 при збільшенні кількості моделей. 
 На додаток до імовірнісного підходу теореми про журі, фундаментальне 
пояснення ефективності ансамблів дає теорія розкладання помилки, запропонована 
Крогом та Ведельсбі [16]. Вона стверджує, що квадратична помилка гарантовано 
менші або дорівнює середній квадратичній помилці окремих моделей, і ця 
залежність описується рівнянням(1.1): 
�� = ?̅? − ?̅? , (1.1) 
де �� – квадратична помилка ансамблю; 
?̅? – зважена середня помилка базових моделей; 
?̅? – ступінь декорельованості прогнозів між членами ансамблю. 
 Це призводить до ключової вимоги при побудові ансамблю – забезпечення 
різноманітності. Для того щоб ансамбль працював ефективно, помилки базових 
моделей мають бути некорельованими. У даній роботі це досягається шляхом 
об’єднання алгоритмів принципово різної математичної природи, що дозволяє 
створювати стійкі робастні моделі (рис. 1.2). 
 
Рисунок 1.2 – Компроміс між зміщенням та дисперсією 
26 
1.6.1 Беггінг  
 Метод побудови однорідних ансамблів, метою якого є зменшення дисперсії 
моделі та запобіганню перенавчанню. Алгоритм працює за системою паралельного 
навчання. З вхідного набору даних формується N нових підвибірок шляхом 
випадкового відбору спостережень із поверненням. Це означає, що деякі пацієнти 
можуть потрапити в одну підвибірку кілька разів, а інші не потрапити зовсім. На 
кожній з цих підвибірок незалежно один від одного навчається свій базовий 
алгоритм. Фінальне рішення приймається колективно. Для задач регресії 
результати всіх моделей усереднюють, а для класифікації застосовують 
мажоритарне голосування. Класичним випадком беггінгу є випадковий ліс. 
Головною перевагою методу в медичних задачах є висока стійкість до викидів та 
шуму в даних, оскільки помилка окремої моделі нівелюється правильними 
відповідями більшості. 
1.6.2 Бустинг  
 Сімейство алгоритмів для побудови ансамблів, які перетворюють набір 
слабких моделей на одну сильну. На відміну від беггінгу, тут моделі будуються 
послідовно, а не паралельно. Ключова ідея методу полягає в ітеративному 
виправленні помилок, коли кожна наступна модель в ансамблі фокусується на 
виправленні помилок, допущених композицією всіх попередніх моделей. 
Фінальний прогноз формується як зважена сума прогнозів усіх моделей. 
Математично бустинг спрямований на зменшення зміщення моделі. Сучасні 
реалізації, такі як XGBoost, LightGBM та CatBoost, використовують регуляризацію 
для контролю перенавчання та оптимізовані алгоритми пошуку розбиттів, що 
робить їх стандартом для табличних даних. 
 
27 
1.6.3 Стекінг та Блендінг  
 Це методи різнорідного ансамблювання, які використовують дворівневу 
архітектуру навчання. 
 На першому рівні навчається набір різноманітних моделей. Сила підходу 
полягає в тому, що ці моделі мають різну математичну природу і роблять помилки 
на різних типах даних. 
 На другому рівні прогнози моделей першого рівня виводяться як вхідні 
ознаки для нової моделі – мета-класифікатора. Мета-модель вчиться ефективно 
комбінувати думки базових експертів, визнаючи, кому з них варто довіряти в 
конкретній ситуації. Мета-модель не просто усереднює результати, а виконує 
функцію динамічної кореляції помилок, навчаючись ідентифікувати який з базових 
алгоритмів є більш компетентним у конкретній області простору ознак, і надає його 
голосу більшої ваги при прийнятті фінального рішення. 
 Різниця методів полягає в тому, що стекінг використовує крос-валідацію для 
генерації мета-ознак, що дозволяє використовувати весь обсяг даних. Тоді як 
блендінг використовує просте розбиття на відкладену вибірку, що швидше 
обчислювати, але менш ефективно при малій кількості даних. 
1.7 Постановка задачі дослідження 
 Проведений у першому розділі критичний аналіз методів машинного 
навчання показав, що сучасна медична діагностика стикається з проблемою вибору 
інтерпретованістю та точністю. Встановлено, що класичні лінійні моделі є 
прозорими, але не здатні охопити складні нелінійні залежності симптоматики. 
Водночас потужні методи глибокого навчання часто страждають від перенавчання 
на специфічних даних та працюють як «чорна скринька». 
 Крім того, виявлено, що специфіка вхідних даних створює суттєві бар’єри 
для стандартних алгоритмів: 
28 
• Проблема розмірності та розрідженості. Простір ознак є багатовимірним, але 
вектори симптомів заповнені переважно нулями, що ускладнює роботу 
метричних класифікаторів. 
• Дисбаланс класів. Значна перевага поширених хвороб над рідкісними у 
навчальних вибірках призводить до зміщення прогнозів у бік мажоритарних 
класів та ігнорування критично важливих діагнозів. 
 Спираючись на теорему про «відсутність безкоштовних обідів», яка 
стверджує неможливість існування одного універсального алгоритму для всіх 
задач, науково-прикладною проблемою дослідження є необхідність створення 
комбінованої системи, яка б нівелювала недоліки окремих методів. 
1.8 Проміжні висновки 
 Методи медичного діагностування пройшли шлях від детермінованих 
експертних систем на основі правил до стохастичних моделей та алгоритмів 
глибокого навчання.  Найбільш значущі результати було досягнуто в радіології, де 
алгоритми комп’ютерного зору ефективно виявляють патології на знімках; у 
прогностичній аналітиці, де моделі оцінюють ризики на основі електронних карт; 
у фармакології для прискорення розробки ліків; у геноміці для персонілізації 
терапії. Проте широка імплементація цих технологій стимується проблемами 
інтерпретованості рішень та складністю інтеграції різнорідних даних. 
 Систематизація методів класифікації виявила, що жоден із існуючих 
алгоритмів не є універсальним для медичних задач. Базові статистичні методи, такі 
як логістична регресія та наївний байєсівський класифікатор, забезпечують високу 
швидкість та прозорість, але мають обмежену точність через нездатність 
моделювати складні нелінійні взаємодії симптомів.  Метод k-найближчих сусідів 
та метод опорних векторів ефективні на малих вибірках, але погано 
масштабуються. Дерева рішень, випадковий ліс та градієнтний бустинг 
демонструють високу стійкість до шуму, тоді як нейронні мережі мають найвищу 
29 
апроксимаційну здатність, але схильні до перенавчання на незбалансованих 
вибірках. 
 Дослідження специфіки біомедичних даних виявило три критичні проблеми. 
«Прокляття розмірності» при роботі з великим простором ознак, екстремальна 
розрідженість векторів та суттєвий дисбаланс класів, що призводить до 
ігнорування рідкісних патологій. Теоретично обгрунтовано, що вирішення цих 
проблем можливе через застосування гібридних ансамблів. Поєднання різнорідних 
моделей дозволяє забезпечити статистичну незалежність помилок та підвищити 
надійність діагностики. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30 
2 МЕТОДИКА ПІДГОТОВКИ ДАНИХ ТА ПРОЕКТУВАННЯ 
АРХІТЕКТУР МОДЕЛЕЙ 
2.1 Попередня обробка даних 
 Якість роботи алгоритмів машинного навчання, особливо в медичній сфері, 
критично залежить від етапу підготовки даних. Етап попередньої обробки та 
розвідувального аналізу є фундаментом дослідження, оскільки необроблені 
медичні дані часто містять шум, пропуски або мають формат непридатний для 
безпосередньої подачі на вхід алгоритмам.  
2.1.1 Опис даних 
 В якості основи для експериментального дослідження було використано 
відкритий масив даних «Disease-Symptom Dataset», валідований фахівцями World 
Bank Group. Структура датасету є вибіркою з 246 946 клінічних випадків. Простір 
ознак сформований на основі 377 унікальних симптомів, які виступають 
предикторами для класифікації. Цільова змінна представлена 773 класами 
захворювань. 
2.1.2 Характеристика даних 
 Вхідний набір даних являє собою структуровану таблицю симптомів, де 
кожен рядок відповідає унікальному клінічному випадку, а стовпці репрезентують 
простір ознак та цільову змінну. Датасет не містить персональних даних, що 
відповідає вимогам етичних норм. 
 Векторне представлення: Кожен пацієнт описується бінарним вектором: 
�� =  (��1, ��2, … , ��n) , 
де n – загальна кількість унікальних симптомів.  
 Бінарна природа: значення ��i =  1 свідчить про наявність i-го симптому, а 
 ��i =  0 – про його відсутність. 
 Розмірність: кількість ознак значно перевищує кількість активних симптомів 
у одного пацієнта. 
31 
2.1.3 Аналіз дисбалансу класів 
 Аналіз цільової змінної виявив суттєвий дисбаланс класів. Найбільш 
представлений клас містить 1219 прикладів, тоді як найменш представлений – 1. 
Це обґрунтовує використання стратифікованого розбиття при валідації та зважених 
функцій втрат при навчанні. Але наявність класів, які представлені в наборі даних 
малою кількістю екземплярів, унеможливлює проведення коректного 
стратифікованого розбиття вибірки на навчальну та тестову. Щоб вирішити 
проблему таких класів, замість видалення рідкісних хвороб з розгляду було 
застосовано дублювання. 
2.1.4 Аналіз розрідженості даних 
 В ході EDA виявлено, що матриця ознак є сильно розрідженою. 
Співвідношення ненульових елементів до загальної кількості становить лише 
1,41% і це відповідає реальній практиці, де у пацієнта може бути лише декілька 
симптомів із сотень можливих (рис. 2.1). 
 
Рисунок 2.1 – Розподіл частоти симптомів  
32 
 З теоретичної точки зору, роботу з такими високовимірними розрідженими 
векторами можна описати в рамках Гіпотези многовидів [17]. Ця гіпотеза 
стверджує, що реальні дані не розподілені рівномірно на всьому n-вимірному 
просторі ознак, а сконцентровані поблизу певних нелінійних підмноговидів значно 
меншої розмірності. 
Проблема розрідженості створює ситуацію, коли більшість ознак мають нульову 
ентропію для конкретного пацієнта, що ускладнює оцінку щільності розподілу 
ймовірностей. У контексті метричних алгоритмів це призводить до втрати 
дискримінативної здатності Евклідової відстані, оскільки в високовимірному 
просторі відстані між будь-якими парами точок стають майже однаковими. Саме 
тому для ефективної класифікації необхідно використовувати моделі, здатні 
формувати нелінійні розділяючі гіперповерхні або працювати з підпросторами 
ознак. 
2.1.5 Візуалізація простору  
 Візуалізація простору методом PCA (рис. 2.2) демонструє, що класи не є 
лінійно роздільними у просторі ознак низької розмірності. Це свідчить про 
необхідність застосування моделей з високою роздільною здатністю для побудови 
складних нелінійних границь рішень. 
33 
 
Рисунок 2.2 – Візуалізація простору симптомів 
2.1.6 Кодування цільової змінної 
 Цільова змінна diseases містить 772 унікальні класи, для її обробки 
застосовано Factorization для створення Dict («Індекс <> Назва»). Це забезпечує 
швидке декодування результатів. 
2.1.7 Методологія формування вибірок 
 Для валідації застосовано метод Hold-out validation. Пропорції навчальної та 
тестової вибірки розділені у співвідношенні 80\20. Вхідні дані приведені до типу 
bool. 
 
 
 
34 
2.2 Логістична модель 
 Логістична регресія є адаптацією лінійного підходу до задач  класифікації і 
тривалий час залишалася «золотим стандартом» у медичній статистиці. В основі 
методу лежить гіпотеза, що логарифм відношення шансів лінійно залежить від 
вхідних ознак. 
 Для задач бінарної класифікації модель прогнозує ймовірність належності 
пацієнта до позитивного класу (y=1) за допомогою сигмоїдальної функції активації 
σ(z), яка відображає вихід лінійної комбінації ознак у діапазон (0,1): 
1
��(�� = 1|��) = ��(������ + ��) =  , (
�� 2.1) 
1 + ��−(�� ��+��)
де  �� – вектор ваг, що характеризує внесок кожного симптому; 
b – зсув. 
 Оскільки в дослідженні розглядається мультикласова класифікація, була 
використана мультиноміальна логістична регресія, яка розглядає задачу 
класифікації як оцінку апостеріорної ймовірності. У цьому випадку модель будує 
K лінійних гіперплощин, виходи яких нормалізуються функцією Softmax: 
����
�� �� ��+����
��(�� = ��|��) = ��(��)�� =  , ( )
�� 2.2
����
∑ �� �� ��+��  
��
��=1
де ��k – вектор ваг для k-го класу; 
bk – зміщення.  
 Softmax гарантує, що сума ймовірностей всіх класів дорівнює одиниці, що 
дозволяє інтерпретувати вихід як розподіл ймовірностей. Модель навчається 
шляхом мінімізації функції втрат категоріальної перехресної ентропії. 
 Враховуючи високу розмірність даних та велику кількість класів, стандартні 
методи оптимізації є обчислювально витратними. Планується використання 
алгоритмів SAGA або L-BFGS, які спеціально розроблені для задач великої 
розмірності та можуть працювати з розрідженими даними. Для запобігання 
перенавчанню та мультиколінеарності між симптомами використовується l2-
регуляризація (рис. 2.3). 
35 
 
Рисунок 2.3 – Архітектура мультиноміальної логістиної регресії 
2.3 Наївний байєсівський класифікатор 
 Метод базується на імовірносному підході до класифікації з використанням 
теореми Байєса та «наївного» припущення про повну незалежність ознак одна від 
одної (рис 2.4). У контексті діагностики це означає, що алгоритм розглядає появу 
кожного симптому як подію, не пов’язану з наявністю інших симптомів, за умови 
фіксованого діагнозу. Якщо x = (x1,x2,…,xn) – вектор симптомів, то фінальний 
діагноз ��′ визначається за принципом максимальної апостеріорної ймовірності: 
��
��′ = ������ ��������(����) ∏ ��(����|����) , (2.3) 
��
��=1
де ��(����) – апріорна ймовірність хвороби k; 
��(����|����) – умовна ймовірність наявності симптому xi при захворюванні k, 
добуток використовується через припущення про незалежність подій. 
 Специфіка застосування методу в даній роботі враховує бінарну природу 
вхідних даних. Для цього обрано модель Bernoulli Naive Bayes, яка явно працює з 
булевими ознаками. Це дозволяє досягти високої швидкості навчання та 
прогнозування навіть на великому просторі ознак. Водночас, через ігнорування 
36 
кореляції між симптомами, оцінки ймовірності можуть бути зміщеними, тому 
даний алгоритм використовується в роботі переважно як базовий рівень для 
перевірки складніших ансамблевих моделей. 
 
Рисунок 2.4 – Схема класифікації методом байєсівського класифікатора 
2.4 Алгоритм випадкового лісу 
 Метод Random Forest базується на концепції зменшення дисперсії шляхом 
побудови множини декорельованих дерев рішень (2.5). Кожне дерево навчається 
на бутстреп-вибірці, а при розщеплені вузлів розглядається лише випадкова 
підмножина ознак. Задача класифікації вирішується шляхом мажоритарного 
голосування базових алгоритмів. Якщо N – кількість дерев в ансамблі, а hn(x) – 
прогноз n-го дерева для вектора симптомів x, то фінальний діагноз ��′ визначається 
як клас, що набрав найбільшу суму голосів: 
��
��′ = ������ ������ ∑ ��(ℎ��(��) = ��) , (2.4) 
��
��=1
де I() – індикаторна функція, яка дорівнює 1, якщо дерево n проголосувало за 
хворобу k, і 0 в іншому випадку.  
37 
Такий підхід робить модель стійкою до шуму у вхідних даних, оскільки помилки 
окремих дерев взаємно компенсуються. 
 Специфіка побудови моделі в даній роботі враховує високу розрідженість 
вектору ознак. Для запобігання перенавчанню розгалуження вузла дерева 
відбувається лише за умови наявності у ньому статистично значущої кількості 
прикладів. Це фільтрує унікальні комбінації симптомів, які не є репрезентативними 
для генеральної сукупності. Зважаючи на швидку збіжність алгоритму на бінарних 
даних, розмір ансамблю можна обмежити компактною кількістю естиматорів. Це 
дозволить досягнути балансу між точністю та швидкістю, а незалежність побудови 
дерев дає можливість повного розпаралелювання обчислень на всіх ядрах 
процесора. 
 
Рисунок 2.5 – Схема роботи алгоритму випадкового лісу 
 
2.5 Градієнтний бустинг (XGBoost) 
 XGBoost реалізує концепцію послідовного бустингу. Математична суть 
методу полягає в побудові адитивної композиції алгоритмів, де кожна наступна 
модель ft(x) навчається не передбачати цільову змінну безпосередньо, а коригувати 
38 
залишки, зроблені композицією попередніх моделей (рис 2.6). Прогноз моделі на 
кроці t визначається рекурентною формулою: 
′(��) (��−1)
���� = ��′  
�� + ������(����), (2.5)
(��−1)
де ��′
��  – прогноз на попередньому кроці; 
����(����) – нове дерево рішень, що мінімізує залишковий градієнт; 
n – швидкість навчання, яка запобігає перенавчанню.  
 
Рисунок 2.6 – Принцип навчання в алгоримі XGBoost 
 Специфіка задачі медичної діагностики вимагає не просто класифікації, а 
ранжування ймовірностей діагнозів. Тому як цільову метрику було обрано режим 
multi:softprob. У цьому режимі вихід ансамблю проходить через функцію Softmax, 
повертаючи матрицю ймовірностей розмірності N x K, де N – кількість пацієнтів, а 
K – кількість хвороб. Це дозволить інтерпретувати результат як розподіл 
впевненості системи, на відміну від режиму multi:softmax, який повертає лише 
жорстку мітку найімовірнішого класу, втрачаючи інформацію про альтернативні 
діагнози.  
 Критичною перевагою XGBoost для даного дослідження є вбудований 
алгоритм обробки розрідженості – Sparsity-aware Split Finding. Оскільки вхідна 
39 
матриця симптомів містить понад 95% нульових значень, алгоритм автоматично 
вивчає напрямок за замовчуванням у кожному вузлі дерева. Це дозволяє 
пропускати нульові елементи при пошуку розгалужень, фокусуючись лише на 
наявних симптомах, що набагато прискорює навчання порівняно з класичними 
реалізаціями. 
 З метою оптимізації обчислювальних витрат на великому просторі ознак 
було задіяно гістограмний метод побудови дерева. Замість точного сортування 
значень ознак, яке має складність N·logN, алгоритм дискретизує безперервні 
ознаки у фіксовану кількість кошиків. Це знижує алгоритмічну складність пошуку 
оптимального спліту до N, суттєво зменшуючи споживання пам’яті та час 
тренування без втрати точності прогнозування. 
2.6 Нейронна мережа 
 В якості основного інструменту класифікації обрано багатошаровий 
перцептрон на базі Keras. Для подолання проблеми «інформаційного вузького 
місця» розроблено архітектуру з поступовим зменшенням кількості нейронів. 
Архітектуру розробленої нейронної мережі наведено на рисунку (2.7). Вона 
складається з трьох повнозв’язних блоків, що звужуються. Таке звуження кількості 
нейронів дозволяє мережі поступово стискати інформацію, виділяючи найбільш 
значущі абстрактні ознаки симптомів перед фінальною класифікацією. 
40 
 
Рисунок 2.7 – Структура багатошарового перцептрона 
2.6.1 Вибір функції активації 
 ReLu – приховані шари. На відміну від сигмоїдальних функцій (Sigmoid або 
Tanh), похідна ReLu для додатних значень завжди буде 1. Це дозволяє ефективно 
навчати глибокі мережі, передаючи градієнт помилки через багато шарів без його 
втрати. ReLu зануляє виходи для всіх від’ємних значень, це призводить до того, що 
в будь-який момент часу активною є лише частина нейронів. Така поведінка 
ідеально корелює з природою вхідних метричних даних, де вектори симптомів є 
сильно розрідженими. Також обчислення максимуму відбувається швидше ніж 
обчислення експоненти, що пришвидшує процес навчання на великому датасеті. 
 Softmax – вихідний шар. Перетворює вектор «сирих» виходів мережі у 
нормалізований розподіл ймовірностей. Це гарантує, що всі вихідні значення 
знаходяться в діапазоні (0,1), а їх сума дорівнює одиниці. Це дозволяє 
інтерпретувати рузультат як ймовірність приналежності пацієнта до конкретного 
діагнозу.  
41 
2.6.2 Механізми регуляризації 
 Для запобігання перенавчанню, яке є типовою проблемою для задач з 
великою кількістю параметрів, впроваджено шари Dropout з коефіцієнтом 0.3. 
Метод полягає у випадковому виключенні з процесу обчислень певної частини 
нейронів під час кожної ітерації навчання. Тобто 30% нейронів прихованого шару 
випадковим чином деактивуються. Такий підхід змушує кожен нейрон навчатися 
знаходити корисні ознаки самостійно, не покладаючись на наявність інших 
специфічних нейронів-сусідів. Важливо зазначити що на етапі використання 
навченої моделі механізм Dropout вимикається. 
2.6.3  Алгоритм оптимізації та функція втрат 
 В якості алгоритму оптимізації було обрано Adam, який поєднує переваги 
двох інших популярних методів – AdaGrab, який добре працює з розрідженими 
градієнтами, та RMSProp, що добре працює з нестаціонарними цілями. У наших 
даних вектори симптомів містять багато нулів, для рідкісних симптомів алгоритм 
автоматично збільшує крок навчання, що дає змогу моделі ефективно враховувати 
навіть рідкісні клінічні ознаки. Також метод демонструє швидшу збіжність до 
локального мінімума функції втрат порівняно з стохастичним градієнтним 
спуском. 
Оскільки розв’язується задача мультикласової класифікації, де кожен пацієнт може 
мати лише один основний діагноз із множини взаємовиключних класів, було 
використано функцію втрат Sparse Categorical Crossentropy. Математично вона 
оцінює розбіжність між істинним розподілом y та прогнозованим розподілом ��′: 
��
��(��, ��′) = ∑ ���� ������(��′
�� ) . (2.6) 
��=1
 Використання саме Sparse-версії цієї функції зумовлено форматом цільової 
змінної, де при кодуванні векторами One-Hot Encoding кожна хвороба мала б 
вектор із 771 нулів і однією одиницею.  
42 
2.6.4 Керування навчанням  
 Для забезпечення стібільності процесу оптимізації та економії 
обчислювальних ресурсів було впроваджено стратегію динамічного керування 
навчанням за допомогою механізму зворотних викликів.  
 Рання зупинка виступає запобіжником проти перенавчання. Алгоритм 
перевіряє значення функції втрат на валідаційній множині після кожної епохи, 
якщо протягом п’яти епох не спостерігається зменшення помилки, навчання 
примусово зупиняється. Це дозволяє уникнути ситуацій коли модель запам’ятовує 
шум навчальної вибірки. 
 Критично важливим після зупинки моделі повернути до стану тієї епохи, де 
метрики були найкращими, а не залишитись в останньому стані. 
2.7 Обчислювальна складність алгоритмів 
 Ефективність впровадження системи діагностики у клінічну практику 
залежить не лише від точності прогнозування, але й від обчислювальної складності 
алгоритмів. Аналіз часової складності та просторової складності дозволяє оцінити 
вимоги до апаратного забезпечення та масштабованість системи при збільшення 
кількості пацієнтів. У рамках цього дослідження введено наступні позначення для 
оцінки асимптотичної складності:  
• N – кількість екземплярів у навчальній вибірці (246 946 випадків); 
• M – кількість ознак (377 симптомів); 
• K – кількість класів захворювань (773 діагнози); 
• T – кількість дерев в ансамблевих методах; 
• d – максимальна глибина дерева; 
• E – кількість епох у нейронній мережі; 
• W – загальна кількість вагових коефіцієнтів у нейронній мережі. 
 
43 
2.7.1 Наївний баєсівський класифікатор 
 Це найбільш обчислювально ефективний алгоритм серед розглянутих. 
Процес його навчання має складність порядку O(N·M), оскільки він зводиться до 
одноразового проходу по вибірці для підрахунку частот появи кожного симптому 
для кожного класу. Враховуючи використання бінарних ознак, операції є 
елементарними, що робить цей метод ідеальним кандидатом на роль базового 
орієнтира швидкодії, прогнозування для нового пацієнта відбувається зі 
складністю O(M·K), що дозволяє отримувати результат миттєво навіть на слабкому 
обладнанні. 
2.7.2 Логістична регресія 
 Значно більших обчислювальних ресурсів вимагає мультиноміальна 
логістична регресія, складність навчання якої оцінюється як O(I·N·M·K). 
Критичним фактором тут стає велика кількість класів діагнозів, оскільки на кожній 
I ітерацій градієнтного спуску відбувається оновлення ваг для кожної з 773 
гіперплощин. Хоча використання спеціалізованого алгоритму L-BFGS дозволяє 
пришвидшити збіжність на розріджених даних, лінійна залежність навчання від 
кількості хвороб робить цей метод чутливим до розширення діагностичної бази. 
2.7.3 Випадковий ліс  
 Алгоритм випадкового лісу демонструє іншу природу складності, що 
оцінюється як O(T·N·logN·M). основні витрати часу припадають на сортування 
значень ознак у кожному вузлі для пошуку оптимального розбиття, що додає 
множник logN. Проте, завдяки незалежності побудови кожного окремого дерева, 
цей алгоритм ефективно використовує багатоядерну архітектуру процесора, 
дозволяючи досягти майже лінійного прискорення при паралелізації обчислень. 
44 
2.7.4 XGBoost 
 Хоча класична побудова дерев має складність, подібну до випадкового лісу, 
використаний у роботі гістограмний метод дозволяє дискретизувати безперервні 
ознаки, знижуючи алгоритмічну складність пошуку розбиття до лінійної 
залежності від N замість N·logN. Крім того, критично важливою для даного 
дослідження є здатність XGBoost ігнорувати нульові значення в розріджених 
векторах. Оскільки матриця симптомів заповнена лише на 1,41%, алгоритм 
обробляє лише наявні симптоми, що прискорює навчання на порядки порівняно з 
теоретичною оцінкою O(T·N·M). 
2.7.5 Нейронна мережа 
 Найбільш ресурсоємним методом є багатошаровий перцептрон. Складність 
його навчання становить O(E·N·W). Розроблена архітектура мережі формує 
простір параметрів, що налічує понад 1 мільйона вагових коефіцієнтів. Кожна 
ітерація навчання вимагає виконання величезної кількості операцій матричного 
множення та обчислення градієнтів методом зворотного поширення помилки. 
Ефективна реалізація такого методу можлива лише за використанням графічних 
прискорювачів (GPU), які дозволяють паралельно обробляти великі пакети даних. 
 Підсумовуючи проведений аналіз (табл 2.1), можна стверджувати, що попри 
високу складність етапу навчання, час формування прогнозу для всіх розглянутих 
моделей становить секунди. Це повністю задовольняє вимоги до системи 
підтримки прийняття лікарських рішень, яка повинна працювати в режимі 
реального часу. Найбільш критичним ресурсом є оперативна пам’ять для 
зберігання структур випадкового лісу та матриць ваг нейронної мережі, що було 
враховано при проектуванні програмного комплексу. 
 
 
 
45 
Таблиця 2.1 – Порівняння часової складності алгоритмів 
Алгоритм Часова складність Часова складність 
навчання прогнозування 
Наївний баєсівський O(N·M) O(M·K) 
класифікатор 
Мультиномінальна O(I·N·M·K) O(M·K) 
логістична регресія 
Випадковий ліс O(T·N·logN·M) O(T·d) 
XGBoost O(T·N·M) O(T·d) 
Нейронна мережа O(E·N·W) O(W) 
2.8 Методологія оцінки якості моделей 
 Специфіка медичної діагностики вимагає використання метрик, що 
відображають клінічну корисність систем, а не лише математичну точність. Окрім 
стандартних метрик було використано Top-K Categorical Accuracy. У медичній 
практиці діагностика передбачає формування списку ймовірних діагнозів, а не 
одного вердикту. Метрика вважає прогноз коректним, якщо істиний діагноз 
входить до множини K класів з найвищими передбаченими ймовірностями. 
Високий показник свідчить про те, що система ефективно звужує коло пошуку для 
лікаря, навіть якщо найімовірніший діагноз не є вірним. 
2.9 Обгрунтування вибору алгоритмів для ансамблю 
 Формування складу гібридного ансамблю базується на необхідності 
забезпечення статистичної різноманітності базових моделей, оскільки 
ефективність мета-класифікатора безпосередньо залежить від того, наскільки 
некорельовані є помилки вхідних алгоритмів. Враховуючи специфіку 
досліджуваного набору даних, який характеризується екстремальною 
розрідженістю, високою розмірністю та бінарною природою ознак, для побудови 
системи було відібрано п’ять алгоритмів, кожен з яких вирішує специфічну задачу 
обробки інформації та компенсує недоліки інших. 
 В якості еталонної моделі для оцінки допустимого рівня точності було обрано 
мультиномінальну логістичну регресію. Її використання в даній роботі зумовлено 
46 
не стільки очікуванням високої прогностичної здатності, скільки необхідність 
валідації результатів з точки зору доказової медицини. На відміну від складніших 
алгоритмів, логістична регресія забезпечує повну прозорість прийняття рішень, 
дозволяючи інтерпретувати вагові коефіцієнти як силу впливу конкретного 
симптому на ймовірність діагнозу. Хоча лінійність границі рішень обмежує 
здатність методу моделювати складні синдроми, наявність l2-регуляризації 
дозволяє ефективно контролювати мультиколінеарність ознак та запобігати 
перенавчанню на початкових етапах моделювання. 
 Для роботи з високовимірним простором бінарних ознак до складу ансамблю 
включено алгоритм Наївного Байєса. Доцільність його застосування 
обґрунтовується математичною природою вхідних векторів симптомів, які є 
булевими величинами. Незважаючи на теоретичне спрощення щодо незалежності 
ознак, яке часто критикується в літературі, саме цей алгоритм демонструє найвищу 
обчислювальну ефективність на розріджених даних, ігноруючи неінформативні 
нульові значення. У контексті ансамблювання цінність цього методу полягає у його 
схильності генерувати поляризовані оцінки ймовірностей, що додає необхідну 
варіативність у простір мета-ознак для фінального класифікатора. 
 З метою зменшення дисперсії загальної системи та підвищення стійкості до 
шуму в клінічних даних застосовано алгоритм випадкового лісу. Оскільки медичні 
записи часто містять помилкові або випадкові симптоми, поодинокі дерева рішень 
схильні до перенавчання та запам’ятовування шумів. Використання технології 
беггінгу, яка передбачає агрегацію рішень множини незалежних дерев, 
побудованих на бутстреп-вибірках, дозволяє нівелювати вплив викидів та 
стабілізувати прогноз. Критично важливою особливістю методу для даного 
дослідження є його здатність автоматично відсіювати нерелевантні симптоми під 
час побудови розбиттів, що фактично виконує роль вбудованого відбору ознак без 
необхідності попередньої фільтрації даних. 
 В якості алгоритму для зменшення зміщення моделі обрано градієнтний 
бустинг у реалізації  XGBoost. Вибір саме цієї бібліотеки зумовлено наявністю 
спеціалізованого механізму «Sparsity-aware Split Finding», який є критично 
47 
необхідним для роботи з матрицею симптомів, щільність заповнення якої 
становить лише 1,41%. На відміну від класичних реалізацій бустингу, XGBoost не 
витрачає обчислювальні ресурси на перебір нульових значень, а вивчає 
оптимальний напрямок розгалуження за замовчуванням для відсутніх даних. Це 
дозволяє не тільки суттєво прискорити процес навчання, але й ефективніше 
виявляти закономірності для рідкісних захворювань, що підтвердження 
використанням функції втрат для ранжування ймовірностей. 
 Завершує архітектуру ансамблю глибока нейронна мережа, завданням якої є 
виявлення латентних нелінійних патернів, недоступних для методів на основі 
дерев. Архітектура мережі спроектована за принципом поступового звуження 
кількості нейронів у прихованих шарах, що змушує модель виконувати компресію 
вхідної інформації та формувати компактні векторні представлення клінічних 
випадків. Такий підхід дозволяє знаходити приховані кореляції між групами 
симптомів, формуючи абстрактні ознаки вищого порядку.  
2.10 Проміжні висновки 
 Розроблена комплексна методологія побудови гібридної системи 
діагностики, яка охоплює повний цикл проектування, від попереднього аналізу та 
підготовки даних до конструювання архітектури окремих алгоритмів та визначення 
стратегії їх валідації. 
 Під час етапу розвідувального аналізу даних було виявлено критичні 
особливості досліджуваного простору ознак, які визначають специфіку 
подальшого моделювання. Встановлено, що вхідний масив даних характеризується 
екстремальною розрідженістю, крім того, виявлено суттєвий дисбаланс класів. Для 
вирішення цієї проблеми було розроблено процедуру попередньої обробки, яка, на 
відміну від стандартного видалення викидів, використовує метод точкового 
дублювання для критично малих класів. Це дозволило зберегти інформацію про 
орфанні захворювання та запобігти зміщенню моделей в бік мажоритарних класів. 
 На основі теоретичного обґрунтування спроектовано архітектуру п’яти 
різнорідних моделей, що увійдуть до складу гібридного ансамблю. В якості 
48 
базового лінійного класифікатора обрано мультиномінальну логістичну регресію з 
l2-регуляризацією для забезпечення стабільного базового прогнозу. Наївний 
байєсівський класифікатор обрано через його унікальну властивість – припущення 
про незалежність ознак. Випадковий ліс імплементовано для зменшення дисперсії 
загальної системи. XGBoost включено для зменшення зміщення, на відміну від 
випадкового лісу, цей метод працює послідовно. Нейронна мережа додана для 
виявлення складних ієрархічних та нелінійних патернів, які недоступні для дерев 
рішень та лінійних моделей.   
 Для валідації цієї системи  розроблено стратегію оцінювання на основі Top-
K Accuracy, яка враховує імовірнісну природу медичної діагностики та здатність 
ансамблю формувати коректний ранжований список гіпотез для лікаря. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49 
3 ПРОГРАМНА РЕАЛІЗАЦІЯ ТА ЕКСПЕРЕМЕНТАЛЬНЕ 
ДОСЛІДЖЕННЯ 
3.1 Балансування та підготовка даних 
 Враховуючи специфіку медичного набору даних, який характеризується 
значним дисбалансом класів та наявністю рідкісних діагнозів, було розроблено 
спеціалізований алгоритм попередньої обробки (рис.3.1). 
 
Рисунок 3.1 -  Дублювання класів частота яких менше 10 
 Створення надлишкової вибірки було важливе для того щоб модель не 
ігнорувала рідкісні діагнози, вважаючи їх статистичним шумом та для коректного 
розбиття на навчальну та тестову вибірки. 
 Для перетворення категоріальної змінної діагнозу в числовий формат було 
застосовано метод факторизації, а для можливості зворотного декодування 
створено словник відповідностей (рис.3.2). 
 
Рисунок 3.2 – Кодування ознак 
50 
 Розбиття даних на навчальну та тестову у співвідношені 80/20 було 
реалізоване за допомогою функції «train_test_split». Параметр «stratify=df.diseases» 
забезпечує збереження пропорцій класів. Для відтворюваності результатів, що є 
важливим для ансамблю, було використано «random_state=666». Для економії 
оперативної пам’яті вхідні вектори симптомів було приведено до типу «bool», що 
відповідає бінарній природі даних (рис.3.3). 
 
Рисунок 3.3 – Розбиття на навчальну та тестову вибірки 
3.2 Реалізація моделей  
3.2.1 Реалізація логістичної регресії 
 Для прискорення навчання на великому масиві даних задіяно паралелізацію 
обчислень на всіх доступних ядрах процесора за допомогою «n_jobs=-1». 
Збільшена кількість ітерацій до 500, щоб алгоритм встиг знайти мінімум функції 
втрат на складному датасеті. Для захисту від дисбалансу, помилкам на рідкісних 
класах було призначено більшу вагу за допомогою «class_weight=’balanced’» 
(рис.3.4). 
 
Рисунок 3.4 – Реалізація алгоритму логістичної регресії 
 
 
 
51 
3.2.2  Реалізація наївного байєса 
 Враховуючи бінарну природу вхідних даних, стандартний Гаусівський 
наївний баєс є непридатним, оскільки розподіл ознак не є нормальним. Тому для 
реалізації ймовірносної моделі було обрано модифікацію Бернуллі (рис.3.5). 
 
Рисунок 3.5 – Реалізація алгоритму наївного байєса 
 Оскільки на етапі попередньої обробки вхідні дані вже були приведені до 
бінарного формату, то додаткова порогова фільтрація не потрібна (binarize=None). 
alpha=0.1 відповідає за адитивне згладжування. Це важливо для медичних даних, 
якщо у навчальній вибірці певний синдром ніколи не зустрічався при конкретній 
рідкісній хворобі, без згладжування модель присвоїла б цьому варіанту нульову 
ймовірність. Параметр a > 0 дозволяє уникнути проблеми нульової частоти та 
підвищити стабільність прогнозу на нових даних. 
3.2.3 Реалізація випадкового лісу 
 Експериментально доведено, що збільшення кількості дерев понад 20 не дає 
суттєвого приросту точності, але лінійно збільшує час роботи та розмір моделі. 
Встановлення параметру «min_sample_split=2» дозволяє побудувати максимально 
глибокі дерева (рис.3.6). 
 
Рисунок 3.6 – Реалізація алгоритму випадкового лісу 
52 
3.2.4  Реалізація XGBoost 
 Для такого великого датасету звичайний перебір варіантів розгалуження був 
би занадто повільним, через що був обраний метод «hist», який групує значення 
ознак у гістограми. Для більш точного глобального мінімуму функції втрат обрано 
500 ітерацій із кроком навчання 0.05. Щоб модель не навчалась безрезультатно, 
була введена рання зупинка, якщо протягом 10 ітерацій точність не зростає(рис3.7). 
 
Рисунок 3.7 – Реалізація алгоритму XGBoost 
3.2.5  Реалізація нейронної моделі  
 Для побудови глибокої архітектури було застосовано три повнозв’язні шари, 
на кожному з яких використовується функція активації «ReLu», яка дозволяє 
уникнути проблем затухання градієнта при навчанні та пришвидшує обчислення. 
Для вирішення задачі мультикласової класифікації вихідний шар містить функцію 
«Softmax». З метою мінімізації функції втрат обрано адаптивний оптимізатор 
«Adam» з кроком навчання 0.0001, який забезпечує більш стабільний процес 
оновлення ваг та для знаходження точнішого глобального мінімуму. З метою 
запобігання перенавчання впроваджено шари регуляризації «Dropout», які 
випадковим чином вимикають 30% зв’язків (рис.3.8). 
53 
 
Рисунок 3.8 – Навчання моделі нейронної мережі 
3.3 Побудова ансамблю 
 Основна ідея полягає у використанні прогнозів, отриманих від базових 
моделей, як нові ознаки для навчання фінального мета-класифікатора. Функція 
«get_meta_features» об’єднує вектори ймовірностей від попередньо навчених 
моделей. Отримані дані об’єднуються за допомогою «np.hstack», формуючи новий 
простір ознак, де кожен стовпець відображає впевненість конкретної моделі в 
певному діагнозі (рис.3.9). 
 
Рисунок 3.9 – Створення мета-даних 
 Оскільки мета-модель не повинна шукати складні патерни, а зважити 
відповіді вже навчених, то у якості мета-моделі була обрана Логістична регресія. 
Параметр регуляризації залишено за замовчуванням для балансу, а кількість 
ітерацій збільшено до 1000 для гарантованої збіжності на нових мета-даних 
(рис.3.10). 
54 
 
Рисунок 3.10 – Навчання мета-моделі 
3.4 Точність та порівняння моделей 
 Оцінка якості класифікаторів проводилась на тестовій вибірці за метриками 
Top-1 Accuracy та Top-3 Accuracy (табл.3.1). 
Таблиця 3.1 – Точність моделей 
Модель Top-1 Accuracy Top-3 Accuracy 
Логістична регресія 86,2% 96% 
Наївний Байєс 86,9% 96,2% 
Випадковий ліс 84,2% 95,6% 
XGBoost 84,7% 95,2% 
Нейронна модель 85,9% 95,8% 
Мета-модель 86,1% 95% 
  
 Незважаючи на те що всі 4 моделі мають різну математичну природу, вони 
продемонстрували майже ідентичні показники точності. Очікувалось, що ансамбль 
зможе виправити помилки окремих моделей і підвищити загальну точність. Однак 
результати показали відсутність приросту якості. 
 Для з’ясування причин відсутності синергійного ефекту при ансамблюванні 
було проведено поглиблений аналіз структури помилок базових класифікаторів. 
Ансамбль коректно працює за умови, що моделі помиляються на різних об’єктах. 
Для перевірки цієї умови була розроблена функція порівняльного аналізу, яка 
виявляє пари «Істиний клас – Передбачений клас» з найбільшою частотою 
помилок(рис.3.11). 
55 
 
Рисунок 3.11 – Функція порівняльного аналізу «Істиний клас – Передбачений 
клас» 
 Результати аналізу для п’ятьох моделей (табл. 3.2) виявили високу схожість 
у патернах помилок.  
Таблиця 3.2 - Топ-10 помилок передбачення базових моделей 
Алгоритм Передбачений клас Справжній клас Частота 
infectious gastroenteritis noninfectious gastroenteritis 78 
noninfectious gastroenteritis infectious gastroenteritis 68 
schizophrenia psychotic disorder 37 
chronic obstructive pulmonary disease 
acute bronchitis 35 
(copd) 
XGBoost cholecystitis gallstone 35 
gum disease tooth disorder 35 
skin polyp skin disorder 34 
spinal stenosis degenerative disc disease 32 
marijuana abuse personality disorder 30 
pneumonia acute bronchospasm 29 
56 
Продовження таблиці 3.2 
infectious gastroenteritis noninfectious gastroenteritis 75 
noninfectious gastroenteritis infectious gastroenteritis 72 
psychotic disorder schizophrenia 38 
cholecystitis gallstone 38 
gallstone cholecystitis 37 
Випадковий 
personality disorder schizophrenia 37 
ліс 
schizophrenia psychotic disorder 36 
kidney stone pyelonephritis 35 
pyelonephritis kidney stone 33 
chronic obstructive pulmonary disease 
acute bronchitis 33 
(copd) 
noninfectious gastroenteritis infectious gastroenteritis 65 
cholecystitis gallstone 52 
gum disease tooth disorder 44 
chronic obstructive pulmonary disease 
acute bronchitis 42 
(copd) 
Логістична 
infectious gastroenteritis noninfectious gastroenteritis 41 
регресія 
skin polyp skin disorder 39 
dry eye of unknown cause corneal disorder 36 
spinal stenosis degenerative disc disease 35 
schizophrenia psychotic disorder 34 
marijuana abuse personality disorder 33 
infectious gastroenteritis noninfectious gastroenteritis 72 
personality disorder marijuana abuse 57 
vaginal cyst spontaneous abortion 48 
spinal stenosis degenerative disc disease 42 
personality disorder schizophrenia 41 
Нейронна 
gum disease tooth disorder 40 
мережа 
skin pigmentation disorder skin polyp 39 
psychotic disorder schizophrenia 38 
retinal detachment cataract 38 
chronic obstructive pulmonary disease 
acute bronchitis 38 
(copd) 
noninfectious gastroenteritis infectious gastroenteritis 68 
dry eye of unknown cause corneal disorder 40 
infectious gastroenteritis noninfectious gastroenteritis 38 
chronic obstructive pulmonary disease 
acute bronchitis 37 
(copd) 
Наївний 
skin polyp skin disorder 37 
Байєс 
marijuana abuse personality disorder 36 
cholecystitis gallstone 33 
pneumonia acute bronchospasm 31 
depression post-traumatic stress disorder (ptsd) 31 
spontaneous abortion vaginal cyst 31 
 
57 
 Така синхронність помилок свідчить про те, що різні моделі впираються в 
одну й ту ж саму проблему – інформаційну недостатність вхідних даних. 
Симптомні профілі зазначених пар хвороб у наборі даних є настільки схожими, що 
їх розділення методами машинного навчання без додаткових ознак є неможливим. 
 Для остаточного підтвердження гіпотези про відсутність синергійного 
ефекту в розробленому ансамблі було проведено кількісний аналіз узгодженості 
рішень базових класифікаторів. Для цього була побудована матриця кореляції 
прогнозів (рис. 3.12), яка відображає ступінь лінійної залежності між векторами 
ймовірностей, згенерованими кожною моделлю на тестовій вибірці. 
 
Рисунок 3.12 – Матриця кореляції прогнозів базових моделей 
58 
 Як видно з теплової карти, коефіцієнти кореляції Пірсона між усіма парами 
моделей є екстремально високими. Згідно з теорією ансамблевого навчання, 
ключовою умовою ефективності стекінгу є статистична незалежність помилок 
базових моделей. Отримані результати математично доводять, що помилки не є 
різноманітними. Вони мають однакові помилки, через що мета-класифікатор не 
отримує додаткової інформації, що і пояснює відсутність приросту точності 
загальної системи. 
3.5 Опис графічного інтерфейса 
 Для забезпечення взаємодії медичного персоналу з розробленими моделями 
машинного навчання було створено графічний інтерфейс користувача на базі 
бібліотеки «Tkinter». Інтерфейс спроектовано за блочним принципом, що дозволяє 
інтуїтивно розділити зону керування даними пацієнта та зону діагностичного 
висновку. 
3.5.1 Ініціалізація системи 
 Процес роботи з програмою розпочинається з етапу ініціалізації. Оскільки до 
складу програми входять ресурсомісткі моделі, їх завантаження в оперативну 
пам’ять займає певний час. Для покращення користувацького досвіду реалізовано 
стартове вікно завантаження (рис.3.13). Воно візуалізує процес завантаження 
збережених моделей. Це надає користувачеві зворотний зв’язок про те, що система 
готується до роботи, а не зависла. 
 
Рисунок 3.13 – Вікно завантаження програми 
 
59 
3.5.2 Головне вікно 
 Після завантаження відкривається головне робоче вікно програми (рис.3.14). 
Інтерфейс розділено на дві функціональні зони: 
• Панель управління (Ліва панель) – відповідає за введення даних, вибір 
пацієнта, маніпуляція з додаванням симптомів, запуск аналізу та 
відображення мета-моделі. 
• Панель діагностики (Права панель) – відображає результати прогнозування 
кожної окремої базової моделі, що входять до складу системи. 
 
Рисунок 3.14 – Загальний вид головного вікна 
 Така реалізація дозволяє лікарю бачити вхідні дані та результат одночасно, 
без необхідності перемикання між вкладками. 
 
60 
3.5.3 Модуль керування пацієнтами та симптомами 
 Робота з пацієнтом реалізована через систему розкривних списків, що 
мінімізує ризик помилки при введені даних. 
 Користувач має можливість обрати вже існуючого пацієнта з бази даних 
(рис.3.15). При виборі пацієнта та показу його симптомів програма підтягує його 
історію (раніше введені симптоми) з CSV-файлу бази даних. Також реалізовано 
функціонал створення нового запису пацієнта та видалення неактуальних карток. 
 
Рисунок 3.15 – Вибір карти пацієнта з бази даних 
 Важливим елементом є стандартизація вхідних даних. Оскільки моделі 
навчилися на фіксованому словнику симптомів, ручне введення тексту могло б 
призвести до помилок. Тому реалізовано розкривний список усіх доступних 
симптомів українською мовою. Лікар обирає симптом із списку та натискає кнопку 
61 
«додати симптом». Система формує список активних скарг, який візуалізується у 
відповідному текстовому полі (рис.3.16). 
 
Рисунок 3.16 – Вибір клінічних симптомів із словника ознак 
3.5.4 Візуалізація результатів діагностики 
 Після формування клінічної картини користувач натискає кнопку 
«Аналізувати пацієнта». Система векторизує список симптомів у бінарний вектор 
та передає його на вхід усім підключеним моделям. 
 Результат роботи базових моделей відображається у правій частині 
інтерфейсу, де напроти назви кожної моделі виводиться список топ-3 ймовірних 
діагнозів зі значенням рівня впевненості. У нижньому лівому куті виводиться 
результат роботи мета-моделі, що являє собою підсумковий та зважений висновок 
системи який ранжує хвороби з урахуванням «авторитетності» кожної 
моделі(рис.3.17). 
62 
 
Рисунок 3.17 – Результат роботи діагностичного комлексу 
3.6 Оцінювання ефективності прикладного рішення 
 Крім кількісної оцінки точності моделей на тестовій вибірці, критичним 
етапом перевірки системи підтримки прийняття лікарських рішень є якісна 
експертна оцінка. Для визначення практичної придатності розробленого 
програмного комплексу було проведено випробування за участі студента 
медичного факультету. 
 За результатами тестування експертом було відзначено, що система генерує 
«цікаві та реалістичні висновки». Це підтверджує, що розроблений гібридний 
ансамбль, який поєднує лінійні моделі, методи на основі дерев та нейронну мережу, 
здатний коректно виявити патофізіологічні закономірності навіть в умовах 
розрідженості вхідних даних. Алгоритми не просто реагують на ключові слова, а 
формують комплексний прогноз, що відповідає медичній практиці. 
63 
 Особливу цінність продемонстрував підхід із використанням метрики        
Top-K Accuracy та ранжування діагнозів. Експерт зауважив, що перелік ймовірних 
хвороб «змушує задуматись про можливість помилкового діагнозу». Це свідчить 
про досягнення однієї з головних цілей роботи – створення інструменту другої 
думки. Система ефективно виконує функцію зниження навантаження на лікаря та 
запобігання помилкам, пропонуючи альтернативні варіанти, які могли бути 
пропущені при первинному огляді. 
 Додатково було оцінено технічні параметри взаємодії. Час генерації прогнозу 
не перевершує однієї секунди, що дозволяє використовувати інструмент у режимі 
реального часу без затримок прийому.  
 Загальна оцінка була сформульована як задовільна. У контексті розробки 
медичного програмного забезпечення це свідчить про те, що на даному етапі 
програмний комплекс успішно пройшов стадію прототипу. 
Система сприймається користувачем як інструмент придатний для: 
• Освітніх цілей; 
• Первинного діагностичного огляду; 
• Перевірки діагностичних гіпотез. 
Отримані результати підтверджують доцільність подальшого розвитку проекту. 
3.7 Перспективи подальшого розвитку 
 Проведений аналіз ефективності розробленого програмного комплексу 
продемонстрував, що створена архітектура є дієздатною та має потенціал для 
практичного застосування. Водночас виявлені під час тестування обмеження, 
зокрема висока кореляція помилок моделей та складність розділення клінічно 
схожих діагнозів, окреслюючи чіткий напрямок для подальшої модернізації 
системи. 
 Як показав аналіз матриці помилок, основною причиною відсутності 
покращення точності в ансамблі є «інформаційний голод» моделей. Симптомні 
профілі багатьох хвороб у поточному наборі даних є занадто схожими для їх 
ефективного розділення. Збільшення кількості унікальних симптомів та інтеграція 
64 
результатів лабораторних та інструментальних досліджень (аналізи крові, 
показники МРТ/КТ), що дозволить підвищити роздільну здатність моделей та 
зменшити кількість помилок на схожих класах. 
 Також є варіант переходу до ієрархічної архітектури класифікації. Поточна 
реалізація розглядає задачу діагностики як «плоску», намагаючись одразу обрати 
із 773 класів. Це створює значне навантаження на класифікатори. При 
впровадженні ієрархічного підходу архітектура буде змінена на каскадну систему. 
На першому етапі модель визначатиме загальну категорію патологій, а на другому 
етапі – спеціалізовані моделі проводитимуть диференційну діагностику всередині 
обраної групи. Це дозволить суттєво звузити простір пошуку та зменшити 
ймовірність діагностичних помилок. 
 Доцільним напрямком є інтеграція модуля обробки приробної мови (NLP) на 
базі спеціалізованих мовних моделей. Це дозволить автоматизувати процес 
вилучення симптомів безпосередньо з неструктурованих тектових записів лікаря в 
електронній медичній картці, замінивши ручний вибір зі списку. 
3.8 Проміжні висновки 
 Здійснено програмну реалізацію та експериментальне дослідження 
запропонованої гібридної системи. У ході роботи було впроваджено алгоритм 
попередньої обробки даних, який включає балансування класів методом точкового 
дублювання для рідкісних діагнозів та векторизацію симптомів. Проведено 
навчання та порівняльний аналіз п’яти базових моделей різної математичної 
природи: мультиноміальна логістична регресія, наївний Байєс, випадковий ліс, 
XGBoost та нейронна мережа. Встановлено, що всі моделі демонструють високу 
швидкість прогнозування та близькі показники точності на тестовій вибірці.  
 Досліджено ефективність методу стекінгу для прийняття рішень базових 
моделей. Експериментально доведено, що ансамблювання не забезпечило 
очікуваного покращення, а точність мета-моделі залишилася на рівні окремих 
алгоритмів. Побудована матриця кореляції прогнозів виявила екстремально високу 
корельованість помилок між моделями, що свідчить про досягнення інформаційної 
65 
межі наявного набору даних, яку неможливо подолати лише ускладненням 
архітектури без залучення додаткових клінічних даних. 
 Встановлено, що метрика Top-3 Accuracy значно перевершує Top-1 Accuracy, 
що підтверджує ефективність ранжування гіпотез для клінічної практики. 
 Розроблено прикладний програмний комплекс із графічним інтерфейсом 
користувача, який забезпечує повний цикл взаємодії з лікарем, від вибору пацієнта 
та стандартизованого введення симптомів до візуалізації впевненості системи. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66 
ВИСНОВКИ 
 У кваліфікаційній роботі вирішено науково-прикладне завдання підвищення 
надійності автоматизованої медичної діагностики шляхом розроблення та 
дослідження гібридної ансамблевої системи машинного навчання.  
1. Аналіз сучасних методів діагностики виявив фундаментальну проблему 
компромісу між інтерпретованістю та точністю. Обґрунтовано, що в умовах 
медичної невизначеності найбільш перспективним є перехід від пошуку 
універсального алгоритму до створення гетерогенних ансамблів, здатних 
компенсувати недоліки окремих методів. 
2.  Виявлено та вирішено специфічні проблеми обробки медичних записів, 
велика розмірність та критичний дисбаланс класів. Впроваджено стратегію 
попередньої обробки, що включає адаптивне дублювання даних та 
використання алгоритмів із підтримкою розрідженості, яка дозволила 
зберегти інформацію про рідкісні захворювання. 
3. Набуло подальшого розвитку застосування метрики Top-K Accuracy як 
основного критерію ефективності діагностичних систем. Експериментально 
доведено, що для задач первинної діагностики показник присутності 
істинного діагнозу у списку ймовірних є більш значущим та надійним 
критерієм, ніж детермінована точність, яка обмежена схожістю симптомів 
різних хвороб. 
4. Встановлено, що на досліджуваному наборі даних метод стекінгу не 
забезпечує значного приросту точності через високу кореляцію помилок 
базових моделей. Це дозволило сформулювати висновок про вичерпання 
інформаційності вхідних ознак і необхідність залучення додаткових даних 
для подальшого покращення якості розпізнавання. 
5. Розроблено у вигляді прототипу програмний комплекс. Система реалізує 
повний цикл діагностики та надає лікарю інтерпретований результат у 
вигляді розподілу ймовірностей, що відповідає концепції «другого погляду» 
та знижує навантаження на медичного працівника. 
67 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 
1. Peerally M. F., Carr S., Waring J., Dixon-Woods M. The problem with root cause 
analysis. BMJ Quality & Safety. 2017. Vol. 26. P. 417–422. URL: 
https://qualitysafety.bmj.com/content/22/Suppl_2/ii21 
2. Improving Diagnosis in Health Care / National Academies of Sciences, 
Engineering, and Medicine. Washington, DC: The National Academies Press, 
2015. URL: https://www.nationalacademies.org/projects/IOM-HCS-13-03/about  
3. No Free Lunch Theorem: A Review / S. P. Adam et al. Approximation and 
Optimization. Springer, Cham, 2019. P. 57–82. URL: 
https://www.researchgate.net/publication/333007007_No_Free_Lunch_Theorem
_A_Review  
4. Edwards D. What is the Knowledge Acquisition Bottleneck problem? Steemit. 
URL: https://steemit.com/ai/@dana-edwards/what-is-the-knowledge-acquisition-
bottleneck-problem  
5. Dermatologist-level classification of skin cancer with deep neural networks / A. 
Esteva et al. Nature. 2017. Vol. 542, no. 7639. P. 115–118. URL: 
https://pubmed.ncbi.nlm.nih.gov/28117445/  
6. Deep learning algorithm vs. XGBoost using Wisconsin breast cancer diagnosis / 
W. A. Wan Abu Bakar et al. Proceedings of SPIE. 2022. Vol. 12506. URL: 
https://www.researchgate.net/publication/366671797_Deep_learning_algorithm_
vs_XGBoost_using_Wisconsin_breast_cancer_diagnosis  
7. Sidey-Gibbons J. A. M., Sidey-Gibbons C. J. Machine learning in medicine: a 
practical introduction. BMC Medical Research Methodology. 2019. Vol. 19. Art. 
64. URL: 
https://www.sciencedirect.com/science/article/abs/pii/S1361841517301135?via%
3Dihub  
8. Symptom-Based Disease Prediction Using Machine Learning / M. A. Khan et al. 
ResearchGate. URL: 
https://www.researchgate.net/publication/392157203_SYMPTOM-
BASED_DISEASE_PREDICTION_USING_MACHINE_LEARNING 
9. Highly accurate protein structure prediction with AlphaFold / J. Jumper et al. 
Nature. 2021. Vol. 596. P. 583–589. URL: 
https://pubmed.ncbi.nlm.nih.gov/34265844/  
10. A comparative study of machine learning techniques / AIP Conference 
Proceedings. 2020. Vol. 2200. No. 1. 020005. URL: 
https://pubs.aip.org/aip/acp/article-abstract/3153/1/020005/3299942/A-
comparative-study-of-machine-learning-techniques 
11. Machine Learning Based Disease Diagnosis: A Comprehensive Review / IEEE 
Xplore. URL: https://ieeexplore.ieee.org/document/9388603 
12. Ahsan M. M., Siddique Z. Machine-Learning-Based Disease Diagnosis: A 
Comprehensive Review. Healthcare. 2022. Vol. 10(3). 541. URL: 
https://www.researchgate.net/publication/359285491_Machine-Learning-
Based_Disease_Diagnosis_A_Comprehensive_Review  
68 
13. Deep learning algorithm vs. XGBoost using Wisconsin breast cancer diagnosis / 
W. A. Wan Abu Bakar et al. Proceedings of SPIE. 2022. Vol. 12506. URL: 
https://www.spiedigitallibrary.org/conference-proceedings-of-
spie/12506/2663128/Deep-learning-algorithm-vs-XGBoost-using-Wisconsin-
breast-cancer-diagnosis/10.1117/12.2663128.full 
14. A diagnosis of ovarian cyst using deep learning neural network with XGBoost 
algorithm / ResearchGate. URL: 
https://www.researchgate.net/publication/373231446_A_diagnosis_of_ovarian_c
yst_using_deep_learning_neural_network_with_XGBoost_algorithm  
15. Condorcet M. Essai sur l’application de l’analyse à la probabilité des décisions 
rendues à la pluralité des voix. Paris: L'Imprimerie Royale, 1785. 
16. Bias, Variance and the Combination of Least Squares Estimators / R. Meir. 
Advances in Neural Information Processing Systems (NeurIPS). 1994. Vol. 7. 
URL: 
https://proceedings.neurips.cc/paper/1994/file/b8c37e33defde51cf91e1e03e51657
da-Paper.pdf  
17. Olah C. Neural Networks, Manifolds, and Topology. Colah's Blog. 2014. URL: 
https://colah.github.io/posts/2014-03-NN-Manifolds-Topology/  
 
 
 
 
 
 
 
 
 
 
 
69 
ДОДАТОК А 
 
«Затверджую» 
Завідувач кафедри статистики 
та прикладної математики 
____________ Анаіт КАРАПЕТЯН 
«___» ________2025 р. 
 
 
ЗАСТОСУВАННЯ МЕТОДІВ АНАЛІЗУ ДАНИХ І МАШИННОГО 
НАВЧАННЯ В МЕДИЦИНІ НА ОСНОВІ АНСАМБЛЕВИХ МОДЕЛЕЙ  
 
Специфікація 
482.ЧДТУ.5 2437-01 
Листів 2 
Розробник    __________________ Олександр ТКАЧЕНКО 
 
Керівник     __________________ Євген ФЕДОРОВ 
 
 
 
 
 
Черкаси - 2025 
70 
Позначення Найменування Примітка 
 Документація  
482.ЧДТУ.5 2437-01 34 01 Інструкція користувача  
482.ЧДТУ.5 2437-01 90 01 Структура бази даних  
482.ЧДТУ.5 2437-01 12 01 Текст програми  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
71 
ДОДАТОК Б 
 
 
 
 
 
 
 
ЗАСТОСУВАННЯ МЕТОДІВ АНАЛІЗУ ДАНИХ І МАШИННОГО 
НАВЧАННЯ В МЕДИЦИНІ НА ОСНОВІ АНСАМБЛЕВИХ МОДЕЛЕЙ  
 
Інструкція користувача 
482.ЧДТУ.5 2437-01 34 01 
Листів 5 
 
Розробник    __________________ Олександр ТКАЧЕНКО 
 
 
 
 
Черкаси - 2025 
72 
 Створення картки нового пацієнта 
 Для створення нового пацієнта потрібно вписати його ім’я в поле, що на 
рисунку Б.1 виділено червоним контуром, після чого натиснути на кнопку “додати 
пацієнта”, що виділена зеленим контуром. 
 
Рисунок Б.1 – Створення файлу нового пацієнта 
 Додавання симптомів до файлу пацієнту 
 Для того, щоб додати симптом існуючому пацієнту ви повинні обрати 
пацієнта з випадаючиго списку в полі, що виділено червоним контуром на рисунку 
Б.2, після чого обрати симптом з випадаючого списку в полі, що виділене 
помаранчевим кольором, після чого натиснути кнопку “додати симптом”, що 
виділена зеленим контуром. 
73 
 
Рисунок Б.2 - Додавання симптому до файлу пацієнта 
 Видалення файлу пацієнта 
 Щоб видалити пацієнта ви повинні обрати існуючого пацієнта з випадаючого 
списку в полі, що виділене червоним контуром і натиснути кнопку “видалити 
пацієнта”, що виділена зеленим контуром на рисунку Б.3. 
 
Рисунок Б.3 - Видалення файлу пацієнта 
74 
 Демонстрація симптомів пацієнта 
 Для того, щоб побачити список симптом пацієнта необхідно обрати пацієнта 
з випадаючого списку в полі, що виділене чероним кольором на рисунку Б.4, після 
чого натиснути кнопку “показати симптоми”, що виділена зеленим кольором. У 
разі, якщо після проведених операцій поле з симптомами, виділено синім контуром, 
залишається порожнім – пацієнт ще не має записаних симптом. 
 
Рисунок Б.4 - Демонстрація симптомів пацієнта 
 
 Аналіз пацієнта 
 Для проведення аналізу пацієнта необхідно обрати пацієнта з випадаючого 
списку в полі, що виділене червоним кольором, натиснути кнопку “показати 
симптоми”, що виділена зеленим контуром, після чого натиснути кнопку 
“аналізувати пацієнта”, виділену синім кольором, як показано на рисунку Б.5 
75 
 
Рисунок Б.5 - Аналіз пацієнта 
 Результати аналізу будуть виведені в поля, що на рисунку Б.6 виділені 
жовтим кольором. Метааналіз, тобто компіляція результатів аналізу всіх моделей, 
буде виведено в поле, що виділене синім контуром. Назви моделей зазначені 
лейблами, що стоять кожна навпроти поля своєї моделі, на рисунку виділені сірим 
контуром. 
 
Рисунок Б.6 - Результати аналізу 
76 
ДОДАТОК В 
 
 
 
 
 
 
 
ЗАСТОСУВАННЯ МЕТОДІВ АНАЛІЗУ ДАНИХ І МАШИННОГО 
НАВЧАННЯ В МЕДИЦИНІ НА ОСНОВІ АНСАМБЛЕВИХ МОДЕЛЕЙ  
Опис датасету 
482.ЧДТУ.5 2437-01 90 01 
Листів 31 
 
Розробник    __________________ Олександр ТКАЧЕНКО 
 
 
 
 
 
Черкаси – 2025 
77 
Датасет «Final_Augmented_dataset_Diseases_and_Symptoms» таблиці 
переліку хвороб і симптомів таблиці В.1 і В.2, відповідно. 
Таблиця В.1 – хвороби українською і англійською мовами 
Назва хвороби англійською Назва хвороби українською 
Panic disorder Панічний розлад 
Vocal cord polyp Поліп голосових зв'язок 
Turner syndrome Синдром Тернера 
Cryptorchidism Крипторхізм 
Poisoning due to ethylene glycol Отруєння етиленгліколем 
Atrophic vaginitis Атрофічний вагініт 
Fracture of the hand Перелом руки 
Cellulitis or abscess of mouth Целюліт або абсцес рота 
Eye alignment disorder Порушення вирівнювання очей 
Headache after lumbar puncture Головний біль після люмбальної пункції 
Pyloric stenosis Пілоростеноз 
Salivary gland disorder Порушення слинних залоз 
Osteochondrosis Остеохондроз 
Injury to the knee Травма коліна 
Metabolic disorder Метаболічний розлад 
Vaginitis Вагініт 
Sick sinus syndrome Синдром слабкості синусового вузла 
Tinnitus of unknown cause Шум у вухах невідомої причини 
Glaucoma Глаукома 
Eating disorder Розлад харчової поведінки 
Transient ischemic attack Транзиторна ішемічна атака 
Pyelonephritis Пієлонефрит 
Rotator cuff injury Травма обертальної манжети плеча 
Chronic pain disorder Хронічний больовий розлад 
Problem during pregnancy Проблема під час вагітності 
Liver cancer Рак печінки 
Atelectasis Ателектаз 
Injury to the hand Травма руки 
Choledocholithiasis Холедохолітіаз 
Injury to the hip Травма стегна 
Cirrhosis Цироз 
Thoracic aortic aneurysm Аневризма грудного відділу аорти 
78 
Продовження таблиці В.1 
Subdural hemorrhage Субдуральна кровотеча 
Diabetic retinopathy Діабетична ретинопатія 
Fibromyalgia Фіброміалгія 
Ischemia of the bowel Ішемія кишечника 
Fetal alcohol syndrome Алкогольний синдром плода 
Peritonitis Перитоніт 
Injury to the abdomen Травма живота 
Acute pancreatitis Гострий панкреатит 
Thrombophlebitis Тромбофлебіт 
Asthma Астма 
Foreign body in the vagina Чужорідне тіло у вагіні 
Restless leg syndrome Синдром неспокійних ніг 
Emphysema Емфізема 
Cysticercosis Цистицеркоз 
Induced abortion Індукований аборт 
Teething syndrome Синдром прорізування зубів 
Infectious gastroenteritis Інфекційний гастроентерит 
Acute sinusitis Гострий синусит 
Substance-related mental disorder Психічний розлад, пов'язаний з вживанням 
речовин 
Postpartum depression Післяпологова депресія 
Coronary atherosclerosis Коронарний атеросклероз 
Spondylitis Спондиліт 
Pituitary adenoma Аденома гіпофізу 
Uterine fibroids Фіброми матки 
Idiopathic nonmenstrual bleeding Ідіопатична неменструальна кровотеча 
Chalazion Халазіон 
Ovarian torsion Торсія яєчника 
Retinopathy due to high blood pressure Ретинопатія через високий кров'яний тиск 
Vaginal yeast infection Вагінальна дріжджова інфекція 
Mastoiditis Мастоїдит 
Lung contusion Контузія легені 
Hypertrophic obstructive cardiomyopathy Гіпертрофічна обструктивна кардіоміопатія 
(HOCM) (ГОКМ) 
Ingrown toe nail Врослий ніготь 
Pulmonary eosinophilia Легенева еозинофілія 
Corneal disorder Порушення рогівки 
Foreign body in the gastrointestinal tract Чужорідне тіло в шлунково-кишковому тракті 
79 
Продовження таблиці В.1 
Endophthalmitis Ендофтальміт 
Intestinal malabsorption Кишкове порушення всмоктування 
Viral warts Вірусні бородавки 
Hyperhidrosis Гіпергідроз 
Stroke Інсульт 
Pilonidal cyst Пілонідальна кіста 
Crushing injury Розчавлююча травма 
Normal pressure hydrocephalus Нормотензивна гідроцефалія 
Alopecia Алопеція 
Hashimoto thyroiditis Тиреоїдит Хашимото 
Flat feet Плоскостопість 
Nonalcoholic liver disease (NASH) Неалкогольна жирова хвороба печінки 
(НАЖХП) 
Hemarthrosis Гемартроз 
Pelvic organ prolapse Пролапс органів малого таза 
Fracture of the arm Перелом руки 
Coagulation (bleeding) disorder Порушення згортання крові 
Intracranial hemorrhage Внутрішньочерепна кровотеча 
Hyperkalemia Гіперкаліємія 
Cornea infection Інфекція рогівки 
Abscess of the lung Абсцес легені 
Dengue fever Лихоманка денге 
Chronic sinusitis Хронічний синусит 
Cholesteatoma Холестеатома 
Volvulus Заворот кишок 
Injury to the finger Травма пальця 
Poisoning due to analgesics Отруєння анальгетиками 
Atrial fibrillation Фібриляція передсердь 
Pinworm infection Інфекція гостриками 
Urethral valves Клапани уретри 
Open wound of the neck Відкрита рана шиї 
Achalasia Ахалазія 
Conductive hearing loss Кондуктивна втрата слуху 
Abdominal hernia Грижа живота 
Cerebral palsy Церебральний параліч 
Marijuana abuse Зловживання марихуаною 
Cryptococcosis Криптококоз 
80 
Продовження таблиці В.1 
Obesity Ожиріння 
Indigestion Розлад травлення 
Bursitis Бурсит 
Esophageal cancer Рак стравоходу 
Pulmonary congestion Легенева застій 
Juvenile rheumatoid arthritis Ювенільний ревматоїдний артрит 
Actinic keratosis Актинічний кератоз 
Acute otitis media Гострий середній отит 
Astigmatism Астигматизм 
Tuberous sclerosis Туберозний склероз 
Empyema Емпієма 
Presbyacusis Пресбіакузіс 
Neonatal jaundice Неонатальна жовтяниця 
Chronic obstructive pulmonary disease Хронічне обструктивне захворювання легень 
(COPD) (ХОЗЛ) 
Dislocation of the elbow Вивих ліктя 
Spondylosis Спондилоз 
Herpangina Герпангіна 
Injury to the shoulder Травма плеча 
Poisoning due to antidepressants Отруєння антидепресантами 
Infection of open wound Інфекція відкритої рани 
Deep vein thrombosis (DVT) Тромбоз глибоких вен (ТГВ) 
Protein deficiency Білкова недостатність 
Myoclonus Міоклонус 
Bone spur of the calcaneus Кістковий шпора п'яткової кістки 
Von Willebrand disease Хвороба фон Віллебранда 
Open wound of the back Відкрита рана спини 
Heart block Серцева блокада 
Colonic polyp Поліп ободової кишки 
Magnesium deficiency Магнієва недостатність 
Female infertility of unknown cause Жіноче безпліддя невідомої причини 
Pericarditis Перикардит 
Attention deficit hyperactivity disorder Синдром дефіциту уваги з гіперактивністю 
(ADHD) (СДУГ) 
Pulmonic valve disease Захворювання легеневого клапана 
Tietze syndrome Синдром Тітце 
Cranial nerve palsy Параліч черепного нерва 
Injury to the arm Травма руки 
81 
Продовження таблиці В.1 
Conversion disorder Розлад конверсії 
Complex regional pain syndrome Комплексний регіональний больовий синдром 
Otosclerosis Ото склероз 
Injury to the trunk Травма тулуба 
Hypothyroidism Гіпотиреоз 
Primary insomnia Первинне безсоння 
Lice Воші 
Vitamin B12 deficiency Недостатність вітаміну B12 
Diabetes Діабет 
Vulvodynia Вульводинія 
Endometriosis Ендометріоз 
Vasculitis Васкуліт 
Concussion Струс мозку 
Oral leukoplakia Оральний лейкоплакія 
Chronic kidney disease Хронічна хвороба нирок 
Bladder disorder Порушення сечового міхура 
Chorioretinitis Хоріоретиніт 
Priapism Приапізм 
Myositis Міозит 
Mononucleosis Мононуклеоз 
Neuralgia Невралгія 
Polycystic kidney disease Полікістозна хвороба нирок 
Bipolar disorder Біполярний розлад 
Amyloidosis Амилоїдоз 
Chronic inflammatory demyelinating Хронічна запальна демієлінізуюча 
polyneuropathy (CIDP) полінейропатія (ХЗДП) 
Gastroesophageal reflux disease (GERD) Гастроезофагеальна рефлюксна хвороба 
(ГЕРХ) 
Vitreous hemorrhage Склоподібна кровотеча 
Poisoning due to antimicrobial drugs Отруєння через антимікробні препарати 
Open wound of the mouth Відкрита рана рота 
Scleroderma Склеродермія 
Myasthenia gravis Міастенія гравіс 
Hypoglycemia Гіпоглікемія 
Idiopathic absence of menstruation Ідіопатична відсутність менструації 
Dislocation of the ankle Вивих щиколотки 
Carbon monoxide poisoning Отруєння чадним газом 
Panic attack Панічна атака 
82 
Продовження таблиці В.1 
Plantar fasciitis Підошовний фасциїт 
Hyperopia Далекозорість 
Poisoning due to sedatives Отруєння через седативи 
Pemphigus Пемфігус 
Peyronie disease Хвороба Пейроні 
Hiatal hernia Грижа стравохідного отвору діафрагми 
Extrapyramidal effect of drugs Екстрапірамідний ефект препаратів 
Meniere disease Хвороба Меньєра 
Anal fissure Анальна тріщина 
Allergy Алергія 
Chronic otitis media Хронічний середній отит 
Fracture of the finger Перелом пальця 
Hirschsprung disease Хвороба Гіршпрунга 
Polymyalgia rheumatica Поліміалгія ревматична 
Lymphedema Лімфедема 
Bladder cancer Рак сечового міхура 
Acute bronchospasm Гострий бронхоспазм 
Acute glaucoma Гостра глаукома 
Open wound of the chest Відкрита рана грудної клітини 
Dislocation of the patella Вивих надколінника 
Sciatica Ішіас 
Hypercalcemia Гіперкальціємія 
Stress incontinence Стресове нетримання сечі 
Varicose veins Варикозні вени 
Benign kidney cyst Доброякісна киста нирки 
Hydrocele of the testicle Гідроцеле яєчка 
Degenerative disc disease Дегенеративне захворювання дисків 
Hirsutism Гірсутизм 
Dislocation of the foot Вивих стопи 
Hydronephrosis Гідронефроз 
Diverticulosis Дивертикульоз 
Pain after an operation Біль після операції 
Huntington disease Хвороба Гантінгтона 
Lymphoma Лімфома 
Dermatitis due to sun exposure Дерматит через сонячне випромінювання 
Anemia due to chronic kidney disease Анемія через хронічну хворобу нирок 
Injury to internal organ Травма внутрішнього органу 
83 
Продовження таблиці В.1 
Scleritis Склерит 
Pterygium Птерігіум 
Fungal infection of the skin Грибкова інфекція шкіри 
Insulin overdose Передозування інсуліну 
Syndrome of inappropriate secretion of ADH Синдром неадекватної секреції АДГ 
(SIADH) (СНСАДГ) 
Foreign body in the ear Чужорідне тіло у вусі 
Premenstrual tension syndrome Передменструальний напруження синдром 
Orbital cellulitis Орбітальний целюліт 
Injury to the leg Травма ноги 
Hepatic encephalopathy Печінкова енцефалопатія 
Bone cancer Рак кісток 
Syringomyelia Сирингомієлія 
Pulmonary fibrosis Легеневий фіброз 
Mitral valve disease Захворювання мітрального клапана 
Parkinson disease Хвороба Паркінсона 
Gout Подагра 
Otitis media Середній отит 
Drug abuse (opioids) Зловживання наркотиками (опіоїди) 
Myelodysplastic syndrome Мієлодиспластичний синдром 
Fracture of the shoulder Перелом плеча 
Acute kidney injury Гостра травма нирки 
Threatened pregnancy Загроза вагітності 
Intracranial abscess Внутрішньочерепний абсцес 
Gum disease Захворювання ясен 
Open wound from surgical incision Відкрита рана від хірургічного розрізу 
Gastrointestinal hemorrhage Шлунково-кишкова кровотеча 
Seborrheic dermatitis Себорейний дерматит 
Drug abuse (methamphetamine) Зловживання наркотиками (метамфетамін) 
Torticollis Тортиколіс 
Poisoning due to antihypertensives Отруєння через антигіпертензивні препарати 
Tension headache Напружений головний біль 
Alcohol intoxication Алкогольне інтоксикація 
Scurvy Цинга 
Narcolepsy Нарколепсія 
Food allergy Харчова алергія 
Labyrinthitis Лабіринтит 
84 
Продовження таблиці В.1 
Anxiety Тривога 
Impulse control disorder Розлад контролю імпульсів 
Stenosis of the tear duct Стеноз слізного каналу 
Abscess of nose Абсцес носа 
Omphalitis Омфаліт 
Leukemia Лейкемія 
Bell palsy Параліч Белла 
Conjunctivitis due to allergy Алергічний кон'юнктивіт 
Drug reaction Реакція на ліки 
Adrenal cancer Рак надниркової залози 
Myopia Міопія 
Osteoarthritis Остеоартрит 
Thyroid disease Захворювання щитовидної залози 
Pharyngitis Фарингіт 
Chronic rheumatic fever Хронічна ревматична лихоманка 
Hypocalcemia Гіпокальціємія 
Macular degeneration Макулярна дегенерація 
Pneumonia Пневмонія 
Cold sor Герпес 
Premature ventricular contractions (PVCs) Передчасні шлуночкові скорочення 
Testicular cancer Рак яєчка 
Hydrocephalus Гідроцефалія 
Breast cancer Рак молочної залози 
Anemia due to malignancy Анемія через злоякісну пухлину 
Esophageal varices Варикозне розширення вен стравоходу 
Endometrial cancer Рак ендометрія 
Cystic fibrosis Кістозний фіброз 
Intertrigo (skin condition) Інтертриго (стан шкіри) 
Parathyroid adenoma Аденома паращитовидної залози 
Glucocorticoid deficiency Недостатність глюкокортикоїдів 
Temporomandibular joint disorder Порушення скронево-нижньощелепного 
суглоба 
Wilson disease Хвороба Вільсона 
Vesicoureteral reflux Везико-уретеральний рефлюкс 
Vitamin A deficiency Недостатність вітаміну А 
Gonorrhea Гонорея 
Fracture of the rib Перелом ребра 
85 
Продовження таблиці В.1 
Ependymoma Епендимома 
Hepatitis due to a toxin Гепатит через токсин 
Vaginal cyst Вагінальна кіста 
Open wound of the shoulder Відкрита рана плеча 
Ectopic pregnancy Позаматкова вагітність 
Chronic knee pain Хронічний біль у коліні 
Pinguecula Пінгекула 
Hypergammaglobulinemia Гіпергаммаглобулінемія 
Alcohol abuse Зловживання алкоголем 
Carpal tunnel syndrome Синдром карпального тунелю 
Pituitary disorder Порушення гіпофізу 
Kidney stone Камінь у нирці 
Autism Аутизм 
Cat scratch disease Хвороба котячих подряпин 
Chronic glaucoma Хронічна глаукома 
Retinal detachment Відшарування сітківки 
Aplastic anemia Апластична анемія 
Overflow incontinence Переповнюване нетримання сечі 
Hemolytic anemia Гемолітична анемія 
Lateral epicondylitis (tennis elbow) Латеральний епікондиліт (тенісний лікоть) 
Open wound of the eye Відкрита рана ока 
Syphilis Сифіліс 
Diabetic kidney disease Діабетична хвороба нирок 
Nose disorder Захворювання носа 
Drug withdrawal Відмова від наркотиків 
Dental caries Карієс 
Hypercholesterolemia Гіперхолестеринемія 
Fracture of the patella Перелом надколінника 
Kidney failure Ниркова недостатність 
Fracture of the neck Перелом шиї 
Muscle spasm М'язовий спазм 
Hemophilia Гемофілія 
Hyperosmotic hyperketotic state Гіперосмотичний гіперкетотичний стан 
Peritonsillar abscess Перитонзилярний абсцес 
Gastroparesis Гастропарез 
Itching of unknown cause Свербіж невідомої причини 
Polycythemia vera Поліцитемія вера 
86 
Продовження таблиці В.1 
Thrombocytopenia Тромбоцитопенія 
Head and neck cancer Рак голови та шиї 
Pseudohypoparathyroidism Псевдогіпопаратиреоз 
Goiter Зоб 
Urge incontinence Неутримання позиву 
Edward syndrome Синдром Едвардса 
Open wound of the arm Відкрита рана руки 
Muscular dystrophy М'язова дистрофія 
Mittelschmerz Міттельшмерц 
Corneal abrasion Відшарування рогівки 
Anemia of chronic disease Анемія хронічного захворювання 
Dysthymic disorder Дистимічний розлад 
Scarlet fever Скарлатина 
Hypertensive heart disease Гіпертонічне серцеве захворювання 
Drug abuse (barbiturates) Зловживання барбітуратами 
Polycystic ovarian syndrome (PCOS) Синдром полікістозних яєчників (СПКЯ) 
Encephalitis Енцефаліт 
Cyst of the eyelid Кіста повіки 
Balanitis Баланіт 
Foreign body in the throat Чужорідне тіло в горлі 
Drug abuse (cocaine) Зловживання кокаїном 
Optic neuritis Оптичний неврит 
Alcohol withdrawal Алкогольна абстиненція 
Premature atrial contractions (PACs) Передчасні скорочення передсердь 
Hemiplegia Геміплегія 
Hammer toe Палець у вигляді молотка 
Open wound of the cheek Відкрита рана щоки 
Joint effusion Накопичення рідини в суглобі 
Open wound of the knee Відкрита рана коліна 
Meningioma Менінгіома 
Brain cancer Рак мозку 
Placental abruption Відшарування плаценти 
Seasonal allergies (hay fever) Сезонні алергії (сінна лихоманка) 
Lung cancer Рак легені 
Primary kidney disease Первинне захворювання нирок 
Uterine cancer Рак матки 
Dry eye of unknown cause Сухе око невідомої причини 
87 
Продовження таблиці В.1 
Fibrocystic breast disease Фіброзно-кістозна хвороба молочної залози 
Fungal infection of the hair Грибкова інфекція волосся 
Tooth abscess Абсцес зуба 
Envenomation from spider or animal bite Отруєння від укусу павука або тварини 
VACTERL syndrome Синдром VACTERL 
Vertebrobasilar insufficiency Вертибробазилярна недостатність 
Rectal disorder Ректальний розлад 
Atonic bladder Атонічний сечовий міхур 
Benign paroxysmal positional vertigo (BPPV) Доброякісне пароксизмальне позиційне 
запаморочення (ДППЗ) 
Blepharospasm Блефароспазм 
Sarcoidosis Саркоїдоз 
Metastatic cancer Метастатичний рак 
Trigger finger (finger disorder) Триггерний палець (розлад пальця) 
Stye Ячмінь 
Hemochromatosis Гемохроматоз 
Osteochondroma Остеохондрома 
Cushing syndrome Синдром Кушинга 
Typhoid fever Тифозна лихоманка 
Vitreous degeneration Дегенерація склоподібного тіла 
Atrophic skin condition Атрофічний стан шкіри 
Aspergillosis Аспергільоз 
Uterine atony Атонія матки 
Trichinosis Трихіноз 
Whooping cough Кашлюк 
Open wound of the lip Відкрита рана губи 
Subacute thyroiditis Підгострий тиреоїдит 
Oral mucosal lesion Ураження слизової оболонки рота 
Open wound due to trauma Відкрита рана через травму 
Intracerebral hemorrhage Внутрішньомозкова кровотеча 
Alzheimer disease Хвороба Альцгеймера 
Vaginismus Вагінізм 
Systemic lupus erythematosus (SLE) Системний червоний вовчак (СЧВ) 
Premature ovarian failure Передчасна недостатність яєчників 
Thoracic outlet syndrome Синдром верхнього отвору грудної клітки 
Ganglion cyst Гангліозна кіста 
Dislocation of the knee Вивих коліна 
88 
Продовження таблиці В.1 
Crohn disease Хвороба Крона 
Postoperative infection Післяопераційна інфекція 
Folate deficiency Недостатність фолатів 
Fluid overload Перевантаження рідиною 
Atrial flutter Тріпотіння передсердь 
Skin disorder Захворювання шкіри 
Floaters Плаваючі помутніння 
Tooth disorder Порушення зубів 
Heart attack Інфаркт міокарда 
Open wound of the abdomen Відкрита рана живота 
Fracture of the leg Перелом ноги 
Oral thrush (yeast infection) Кандидоз рота (дріжджова інфекція) 
Pityriasis rosea Лишай Жибера 
Allergy to animals Алергія на тварин 
Orthostatic hypotension Ортостатична гіпотензія 
Obstructive sleep apnea (OSA) Обструктивне апное сну (ОАС) 
Hypokalemia Гіпокаліємія 
Psoriasis Псоріаз 
Dislocation of the shoulder Вивих плеча 
Intussusception Інвагінація 
Cervicitis Цервіцит 
Abscess of the pharynx Абсцес глотки 
Primary thrombocythemia Первинна тромбоцитемія 
Arthritis of the hip Артрит стегна 
Decubitus ulcer Пролежень 
Hypernatremia Гіпернатріємія 
Sensorineural hearing loss Сенсоневральна втрата слуху 
Chronic ulcer Хронічна виразка 
Osteoporosis Остеопороз 
Ileus Кишковий параліч 
Sickle cell crisis Криза при серповидноклітинній анемії 
Urethritis Уретрит 
Prostatitis Простатит 
Otitis externa (swimmer's ear) Зовнішній отит (вухо плавця) 
Poisoning due to anticonvulsants Отруєння антиконвульсантами 
Testicular torsion Торсія яєчка 
Tricuspid valve disease Захворювання трикуспідального клапана 
89 
Продовження таблиці В.1 
Urethral stricture Стриктура уретри 
Vitamin D deficiency Недостатність вітаміну D 
Hydatidiform mole Пухлиноподібне розростання трофобласта 
Pain disorder affecting the neck Больовий розлад, що впливає на шию 
Tuberculosis Туберкульоз 
Pelvic fistula Тазова фістула 
Acute bronchiolitis Гострий бронхіоліт 
Presbyopia Пресбіопія 
Dementia Деменція 
Insect bite Укус комахи 
Paroxysmal ventricular tachycardia Пароксизмальна шлуночкова тахікардія 
Congenital heart defect Вроджена вада серця 
Connective tissue disorder Розлад сполучної тканини 
Foreign body in the eye Чужорідне тіло в оці 
Poisoning due to gas Отруєння газом 
Pyogenic skin infection Піогенна інфекція шкіри 
Endometrial hyperplasia Гіперплазія ендометрія 
Acanthosis nigricans Чорний акантоз 
Central atherosclerosis Центральний атеросклероз 
Viral exanthem Вірусна екзантема 
Noninfectious gastroenteritis Неінфекційний гастроентерит 
Benign prostatic hyperplasia (BPH) Доброякісна гіперплазія простати (ДГП) 
Menopause Менопауза 
Primary immunodeficiency Первинна імунодефіцит 
Ovarian cancer Рак яєчника 
Cataract Катаракта 
Dislocation of the hip Вивих стегна 
Spinal stenosis Стеноз хребта 
Intestinal obstruction Кишкова непрохідність 
Heart contusion Контузія серця 
Congenital malformation syndrome Синдром вроджених вад 
Sporotrichosis Споротрихоз 
Lymphangitis Лімфангіт 
Wernicke-Korsakoff syndrome Синдром Верніке-Корсакова 
Intestinal disease Захворювання кишечника 
Acute bronchitis Гострий бронхіт 
Persistent vomiting of unknown cause Постійне блювання невідомої причини 
90 
Продовження таблиці В.1 
Open wound of the foot Відкрита рана стопи 
Myocarditis Міокардит 
Preeclampsia Прееклампсія 
Ischemic heart disease Ішемічна хвороба серця 
Neurofibromatosis Нейрофіброматоз 
Chickenpox Вітряна віспа 
Pancreatic cancer Рак підшлункової залози 
Neuropathy due to drugs Невропатія через ліки 
Croup Круп 
Idiopathic excessive menstruation Ідіопатичні надмірні менструації 
Amblyopia Амбліопія 
Meckel diverticulum Дивертикул Меккеля 
Dislocation of the wrist Вивих зап'ястя 
Ear drum damage Пошкодження барабанної перетинки 
Erectile dysfunction Еректильна дисфункція 
Temporary or benign blood in urine Тимчасова або доброякісна кров у сечі 
Kidney disease due to longstanding Захворювання нирок через тривалу 
hypertension гіпертензію 
Chondromalacia of the patella Хондромаляція надколінника 
Onychomycosis Оніхомікоз 
Urethral disorder Порушення уретри 
Lyme disease Хвороба Лайма 
Iron deficiency anemia Анемія через дефіцит заліза 
Acute respiratory distress syndrome (ARDS) Гострий респіраторний дистрес-синдром 
(ГРДС) 
Toxic multinodular goiter Токсичний багатовузловий зоб 
Open wound of the finger Відкрита рана пальця 
Autonomic nervous system disorder Порушення автономної нервової системи 
Psychosexual disorder Психосексуальний розлад 
Anemia Анемія 
Tendinitis Тендиніт 
Common cold Застуда 
Amyotrophic lateral sclerosis (ALS) Аміотрофічний латеральний склероз (АЛС) 
Central retinal artery or vein occlusion Оклюзія центральної артерії або вени сітківки 
Paroxysmal supraventricular tachycardia Пароксизмальна суправентрикулярна 
тахікардія 
Venous insufficiency Венозна недостатність 
Trichomonas infection Інфекція трихомонас 
91 
Продовження таблиці В.1 
Acne Акне 
Depression Депресія 
Drug abuse Зловживання наркотиками 
Urinary tract obstruction Обструкція сечовивідних шляхів 
Diabetes insipidus Нецукровий діабет 
Iridocyclitis Іридоцикліт 
Varicocele of the testicles Варикоцеле яєчок 
Irritable bowel syndrome Синдром роздратованого кишечника 
Fracture of the foot Перелом стопи 
Ovarian cyst Кіста яєчника 
Chlamydia Хламідія 
Parasitic disease Паразитарне захворювання 
Fracture of the jaw Перелом щелепи 
Lipoma Ліпома 
Female genitalia infection Інфекція жіночих статевих органів 
Pulmonary hypertension Легенева гіпертензія 
Thyroid nodule Вузол щитовидної залози 
Broken tooth Зламаний зуб 
Dumping syndrome Синдром швидкого спорожнення 
Lymphadenitis Лімфаденіт 
Injury to the face Травма обличчя 
Aortic valve disease Захворювання аортального клапана 
Rheumatoid arthritis Ревматоїдний артрит 
Spermatocele Сперматоцеле 
Impetigo Імпетиго 
Anal fistula Анальна фістула 
Hypothermia Гіпотермія 
Oppositional disorder Розлад опозиційної поведінки 
Migraine Мігрень 
Diabetic peripheral neuropathy Діабетична периферійна нейропатія 
Testicular disorder Порушення яєчка 
Gestational diabetes Гестаційний діабет 
Hidradenitis suppurativa Гідраденіт супуративний 
Valley fever Каліфорнійська гарячка 
Conjunctivitis due to bacteria Бактеріальний кон'юнктивіт 
Lewy body dementia Деменція з тільцями Леві 
Multiple myeloma Множинна мієлома 
92 
Продовження таблиці В.1 
Head injury Травма голови 
Ascending cholangitis Висхідний холангіт 
Idiopathic irregular menstrual cycle Ідіопатичний нерегулярний менструальний 
цикл 
Interstitial lung disease Інтерстиціальне захворювання легень 
Mononeuritis Мононеврит 
Malaria Малярія 
Somatization disorder Соматизаційний розлад 
Hypovolemia Гіповолемія 
Schizophrenia Шизофренія 
Knee ligament or meniscus tear Розрив зв'язки або меніска коліна 
Endocarditis Ендокардит 
Sepsis Сепсис 
Heat stroke Сонячний удар 
Cholecystitis Холецистит 
Cardiac arrest Зупинка серця 
Cardiomyopathy Кардіоміопатія 
Social phobia Соціальна фобія 
Meningitis Менінгіт 
Spherocytosis Сфероцитоз 
Hormone disorder Гормональний розлад 
Raynaud disease Хвороба Рейно 
Reactive arthritis Реактивний артрит 
Scabies Короста 
Ear wax impaction Закупорка вушної сірки 
Hypertension of pregnancy Гіпертензія під час вагітності 
Peripheral arterial embolism Периферійна артеріальна емболія 
Rosacea Розацеа 
Fracture of the skull Перелом черепа 
Uveitis Увіїт 
Fracture of the facial bones Перелом кісток обличчя 
Tracheitis Трахеїт 
Jaw disorder Порушення щелепи 
Perirectal infection Перианальна інфекція 
Breast cyst Кіста молочної залози 
Post-traumatic stress disorder (PTSD) Посттравматичний стресовий розлад (ПТСР) 
Kidney cancer Рак нирки 
93 
Продовження таблиці В.1 
Vulvar cancer Рак вульви 
Blepharitis Блефарит 
Celiac disease Целіакія 
Cystitis Цистит 
Sickle cell anemia Серповидноклітинна анемія 
Subconjunctival hemorrhage Підкон'юнктивальна кровотеча 
Hemorrhoids Геморой 
Contact dermatitis Контактний дерматит 
Sinus bradycardia Синусова брадикардія 
High blood pressure Високий кров'яний тиск 
Pelvic inflammatory disease Запальне захворювання тазових органів 
Liver disease Захворювання печінки 
Chronic constipation Хронічний запор 
Thyroid cancer Рак щитовидної залози 
Flu Грип 
Friedrich ataxia Атаксія Фрідріха 
Tic (movement) disorder Розлад тік (руху) 
Skin polyp Поліп шкіри 
Brachial neuritis Плечовий неврит 
Cervical cancer Рак шийки матки 
Adrenal adenoma Аденома надниркової залози 
Esophagitis Езофагіт 
Gas gangrene Газова гангрена 
Yeast infection Дріжджова інфекція 
Spina bifida Розщеплення хребта 
Drug poisoning due to medication Отруєння через ліки 
Alcoholic liver disease Алкогольне захворювання печінки 
Malignant hypertension Злоякісна гіпертензія 
Diverticulitis Дивертикуліт 
Moyamoya disease Хвороба Моямоя 
Heat exhaustion Виснаження від спеки 
Psychotic disorder Психотичний розлад 
Frostbite Обмороження 
Atrophy of the corpus cavernosum Атрофія печеристих тіл 
Smoking or tobacco addiction Куріння або залежність від тютюну 
Sprain or strain Розтягнення або розрив 
Essential tremor Первинний тремор 
94 
Продовження таблиці В.1 
Open wound of the ear Відкрита рана вуха 
Foreign body in the nose Чужорідне тіло в носі 
Idiopathic painful menstruation Ідіопатичні болісні менструації 
Down syndrome Синдром Дауна 
Idiopathic infrequent menstruation Ідіопатичні рідкісні менструації 
Pneumothorax Пневмоторакс 
De Quervain disease Хвороба де Кервена 
Fracture of the vertebra Перелом хребця 
Human immunodeficiency virus infection Інфекція вірусу імунодефіциту людини (ВІЛ) 
(HIV) 
Mumps Свинка 
Subarachnoid hemorrhage Субарахноїдна кровотеча 
Acute fatty liver of pregnancy (AFLP) Гостра жирова дистрофія печінки під час 
вагітності (ГЖДП) 
Ectropion Ектропіон 
Scar Шрам 
Lactose intolerance Непереносимість лактози 
Eustachian tube dysfunction (ear disorder) Порушення функції євстахієвої труби 
(захворювання вуха) 
Appendicitis Апендицит 
Graves disease Хвороба Грейвса 
Dissociative disorder Дисоціативний розлад 
Open wound of the face Відкрита рана обличчя 
Dislocation of the vertebra Вивих хребця 
Phimosis Фімоз 
Hyperemesis gravidarum Гіперемезис вагітних 
Pregnancy Вагітність 
Thalassemia Таласемія 
Placenta previa Передлежання плаценти 
Epidural hemorrhage Епідуральна кровотеча 
Septic arthritis Септичний артрит 
Athlete's foot Грибок стопи 
Pleural effusion Плевральний випіт 
Aphakia Афакія 
Vulvar disorder Порушення вульви 
Sialoadenitis Сіаладеніт 
Gynecomastia Гінекомастія 
Urinary tract infection Інфекція сечовивідних шляхів 
95 
Продовження таблиці В.1 
Histoplasmosis Гістоплазмоз 
Erythema multiforme Багатоформна еритема 
Scoliosis Сколиоз 
Bunion Кісточка 
Arrhythmia Аритмія 
Trigeminal neuralgia Тригемінальна невралгія 
Ankylosing spondylitis Анкілозуючий спондиліт 
Peripheral nerve disorder Периферійний нервовий розлад 
Sebaceous cyst Сальна кіста 
Poisoning due to antipsychotics Отруєння антипсихотиками 
Neurosis Невроз 
Prostate cancer Рак простати 
Cerebral edema Мозковий набряк 
Dislocation of the finger Вивих пальця 
Birth trauma Травма при народженні 
Chronic pancreatitis Хронічний панкреатит 
Hematoma Гематома 
Carcinoid syndrome Карциноїдний синдром 
Open wound of the head Відкрита рана голови 
Seborrheic keratosis Себорейний кератоз 
Burn Опік 
Spontaneous abortion Мимовільний аборт 
Genital herpes Генітальний герпес 
Adjustment reaction Адаптаційна реакція 
Gallstone Жовчний камінь 
Multiple sclerosis Розсіяний склероз 
Zenker diverticulum Дивертикул Зенкера 
Fracture of the pelvis Перелом тазу 
Pneumoconiosis Пневмоконіоз 
Hyperlipidemia Гіперліпідемія 
Ulcerative colitis Виразковий коліт 
Male genitalia infection Інфекція чоловічих статевих органів 
HPV Вірус папіломи людини (ВПЛ) 
Angina Стенокардія 
Injury to the spinal cord Травма спинного мозку 
Nasal polyp Назальний поліп 
Lichen simplex Простий лишай 
96 
Продовження таблиці В.1 
Trichiasis Трихиаз 
Acariasis Акараз 
Colorectal cancer Колоректальний рак 
Skin pigmentation disorder Порушення пігментації шкіри 
Factitious disorder Фіктивний розлад 
Lymphogranuloma venereum Венерична лімфогранулема 
Galactorrhea of unknown cause Галакторея невідомої причини 
G6PD enzyme deficiency Недостатність ферменту Г6ФД 
Nerve impingement near the shoulder Затискання нерва біля плеча 
Toxoplasmosis Токсоплазмоз 
Fibroadenoma Фіброаденома 
Open wound of the hand Відкрита рана руки 
Missed abortion Перерваний аборт 
Diabetic ketoacidosis Діабетичний кетоацидоз 
Granuloma inguinale Гранульома пахова 
Obsessive compulsive disorder (OCD) Обсесивно-компульсивний розлад (ОКР) 
Injury of the ankle Травма щиколотки 
Hyponatremia Гіпонатріємія 
Stricture of the esophagus Стеноз стравоходу 
Fracture of the ankle Перелом щиколотки 
Soft tissue sarcoma Саркома м'яких тканин 
Bone disorder Порушення кісток 
Epilepsy Епілепсія 
Personality disorder Розлад особистості 
Shingles (herpes zoster) Опоясуючий лишай (герпес зостер) 
Tourette syndrome Синдром Туретта 
Avascular necrosis Авскулярний некроз 
Strep throat Стрептококовий фарингіт 
Spinocerebellar ataxia Спіноцеребелярна атаксія 
Osteomyelitis Остеомієліт 
Sjogren syndrome Синдром Шегрена 
Adhesive capsulitis of the shoulder Адгезивний капсуліт плеча 
Viral hepatitis Вірусний гепатит 
Tonsillar hypertrophy Гіпертрофія мигдаликів 
Gastritis Гастрит 
Skin cancer Рак шкіри 
Rheumatic fever Ревматична гарячка 
97 
Продовження таблиці В.1 
Aphthous ulcer Афтозний виразок 
Tonsillitis Тонзиліт 
Intestinal cancer Рак кишечника 
Rocky Mountain spotted fever Лихоманка Скелястих гір 
Stomach cancer Рак шлунка 
Developmental disability Розвиткові вади 
Acute stress reaction Гостра стресова реакція 
Delirium Делірій 
Callus Мозоль 
Guillain Barre syndrome Синдром Гієна-Барре 
Lumbago Люмбаго 
Deviated nasal septum Викривлення носової перегородки 
Hemangioma Гемангіома 
Peripheral arterial disease Периферійна артеріальна хвороба 
Chronic back pain Хронічний біль у спині 
Heart failure Серцева недостатність 
Conjunctivitis Кон'юнктивіт 
Herniated disk Грижа міжхребцевого диска 
Rhabdomyolysis Рабдоміоліз 
Breast infection (mastitis) Інфекція молочної залози (мастит) 
Abdominal aortic aneurysm Аневризма черевної аорти 
Pulmonary embolism Легенева емболія 
Conduct disorder Розлад поведінки 
Mastectomy Мастектомія 
Epididymitis Епідидиміт 
Premature rupture of amniotic membrane Передчасний розрив амніотичної оболонки 
Molluscum contagiosum Контагіозний молюск 
Necrotizing fasciitis Некротизуючий фасціит 
Benign vaginal discharge (leukorrhea) Доброякісні вагінальні виділення (лейкорея) 
Bladder obstruction Обструкція сечового міхура 
Melanoma Меланома 
Cervical disorder Порушення шийки матки 
Laryngitis Ларингіт 
Dyshidrosis Дисгідроз 
Poisoning due to opioids Отруєння через опіоїди 
Diaper rash Попрілості 
Lichen planus Плоский лишай 
98 
Продовження таблиці В.1 
Gastroduodenal ulcer Гастродуоденальна виразка 
Inguinal hernia Пахова грижа 
Eczema Екзема 
Asperger syndrome Синдром Аспергера 
Mucositis Мукозит 
Paronychia Пароніхія 
Open wound of the jaw Відкрита рана щелепи 
White blood cell disease Захворювання білих кров'яних клітин 
Kaposi sarcoma Саркома Капоші 
Spondylolisthesis Спондилолістез 
Pseudotumor cerebri Псевдопухлина мозку 
Conjunctivitis due to virus Вірусний кон'юнктивіт 
Open wound of the nose Відкрита рана носа1 
 
Таблиця В.2 – симптоми українською і англійською мовами 
Назва симптому англійською Назва симптому українською 
Anxiety and nervousness Тривога та нервозність 
Depression Депресія 
Shortness of breath Задишка 
Depressive or psychotic symptoms Депресивні або психотичні симптоми 
Sharp chest pain Гострий біль у грудях 
Dizziness Запаморочення 
Insomnia Безсоння 
Abnormal involuntary movements Ненормальні мимовільні рухи 
Chest tightness Стиснення у грудях 
Palpitations Серцебиття 
Irregular heartbeat Нерегулярний серцевий ритм 
Breathing fast Швидке дихання 
Hoarse voice Хрипкий голос 
Sore throat Біль у горлі 
Difficulty speaking Труднощі з мовою 
Cough Кашель 
Nasal congestion Закладеність носа 
Throat swelling Набряк горла 
Diminished hearing Зниження слуху 
Lump in throat Комок у горлі 
Throat feels tight Відчуття стиснення у горлі 
Difficulty in swallowing Труднощі з ковтанням 
Skin swelling Набряк шкіри 
Retention of urine Затримка сечі 
Groin mass Пухлина в паху 
Leg pain Біль у нозі 
99 
Продовження таблиці В.2 
Hip pain Біль у стегні 
Suprapubic pain Біль у надлобковій зоні 
Blood in stool Кров у калі 
Lack of growth Відсутність росту 
Emotional symptoms Емоційні симптоми 
Elbow weakness Слабкість ліктя 
Back weakness Слабкість спини 
Pus in sputum Гній у мокроті 
Symptoms of the scrotum and testes Симптоми мошонки та яєчок 
Swelling of scrotum Набряк мошонки 
Pain in testicles Біль у яєчках 
Flatulence Метеоризм 
Pus draining from ear Виділення гною з вуха 
Jaundice Жовтяниця 
Mass in scrotum Пухлина у мошонці 
White discharge from eye Біле виділення з ока 
Irritable infant Дитяча роздратованність 
Abusing alcohol Зловживання алкоголем 
Fainting Непритомність 
Hostile behavior Ворожа поведінка 
Drug abuse Зловживання наркотиками 
Sharp abdominal pain Гострий біль у животі 
Feeling ill Відчуття нездужання 
Vomiting Блювання 
Headache Головний біль 
Nausea Нудота 
Diarrhea Діарея 
Vaginal itching Свербіж вагіни 
Vaginal dryness Сухість вагіни 
Painful urination Болісне сечовипускання 
Involuntary urination Мимовільне сечовипускання 
Pain during intercourse Біль під час статевого акту 
Frequent urination Часте сечовипускання 
Lower abdominal pain Біль у нижній частині живота 
Vaginal discharge Виділення з вагіни 
Blood in urine Кров у сечі 
Hot flashes Припливи 
Intermenstrual bleeding Міжменструальна кровотеча 
Hand or finger pain Біль у руках або пальцях 
Wrist pain Біль у зап'ясті 
Hand or finger swelling Набряк рук або пальців 
Arm pain Біль у руці 
Wrist swelling Набряк зап'ястя 
Arm stiffness or tightness Скутість або стиснення у руці 
Arm swelling Набряк руки 
Hand or finger stiffness or tightness Скутість або стиснення у руках або пальцях 
Wrist stiffness or tightness Скутість або стиснення у зап'ясті 
Lip swelling Набряк губ 
Toothache Зубний біль 
100 
Продовження таблиці В.2 
Abnormal appearing skin Аномальний вигляд шкіри 
Skin lesion Ураження шкіри 
Acne or pimples Акне або прищі 
Dry lips Сухі губи 
Facial pain Біль на обличчі 
Mouth ulcer Виразка у роті 
Skin growth Ріст шкіри 
Eye deviation Відхилення ока 
Diminished vision Зниження зору 
Double vision Подвійне бачення 
Cross-eyed Косоокість 
Symptoms of eye Симптоми ока 
Pain in eye Біль в оці 
Eye moves abnormally Ненормальні рухи ока 
Abnormal movement of eyelid Ненормальні рухи повіка 
Foreign body sensation in eye Відчуття чужорідного тіла в оці 
Irregular appearing scalp Аномальний вигляд скальпу 
Swollen lymph nodes Набряк лімфатичних вузлів 
Back pain Біль у спині 
Neck pain Біль у шиї 
Low back pain Біль у попереку 
Pain of the anus Біль у анусі 
Pain during pregnancy Біль під час вагітності 
Pelvic pain Біль у тазі 
Impotence Імпотенція 
Infant spitting up Відрижка у немовляти 
Vomiting blood Блювання кров'ю 
Regurgitation Регургітація 
Burning abdominal pain Пекучий біль у животі 
Restlessness Неспокій 
Symptoms of infants Симптоми у немовлят 
Wheezing Хрипи 
Peripheral edema Периферійний набряк 
Neck mass Пухлина на шиї 
Ear pain Біль у вусі 
Jaw swelling Набряк щелепи 
Mouth dryness Сухість у роті 
Neck swelling Набряк шиї 
Knee pain Біль у коліні 
Foot or toe pain Біль у нозі або пальцях стопи 
Bowlegged or knock-kneed Вигнуті або збиті коліна 
Ankle pain Біль у щиколотці 
Bones are painful Біль у кістках 
Knee weakness Слабкість коліна 
Elbow pain Біль у лікті 
Knee swelling Набряк коліна 
Skin moles Родимки на шкірі 
Knee lump or mass Пухлина або вузлик на коліні 
Weight gain Набір ваги 
101 
Продовження таблиці В.2 
Problems with movement Проблеми з рухом 
Knee stiffness or tightness Скутість або стиснення в коліні 
Leg swelling Набряк ноги 
Foot or toe swelling Набряк ноги або пальців стопи 
Heartburn Печія 
Smoking problems Проблеми з курінням 
Muscle pain М'язовий біль 
Infant feeding problem Проблема з годуванням немовляти 
Recent weight loss Остання втрата ваги 
Problems with shape or size of breast Проблеми з формою або розміром грудей 
Underweight Недостатня вага 
Difficulty eating Труднощі з їжею 
Scanty menstrual flow Мізерні менструації 
Vaginal pain Біль у вагіні 
Vaginal redness Почервоніння вагіни 
Vulvar irritation Подразнення вульви 
Weakness Слабкість 
Decreased heart rate Зниження серцевого ритму 
Increased heart rate Підвищення серцевого ритму 
Bleeding or discharge from nipple Кровотеча або виділення з соска 
Ringing in ear Дзвін у вусі 
Plugged feeling in ear Відчуття закладеності у вусі 
Itchy ear(s) Свербіж у вусі (вухах) 
Frontal headache Лобовий головний біль 
Fluid in ear Рідина у вусі 
Neck stiffness or tightness Скутість або стиснення шиї 
Spots or clouds in vision Плями або хмари в зору 
Eye redness Почервоніння очей 
Lacrimation Сльозотеча 
Itchiness of eye Свербіж очей 
Blindness Сліпота 
Eye burns or stings Печіння або поколювання очей 
Itchy eyelid Свербіж повіка 
Feeling cold Відчуття холоду 
Decreased appetite Зниження апетиту 
Excessive appetite Надмірний апетит 
Excessive anger Надмірна лють 
Loss of sensation Втрата чутливості 
Focal weakness Фокусна слабкість 
Slurring words Нечітка мова 
Symptoms of the face Симптоми на обличчі 
Disturbance of memory Порушення пам'яті 
Paresthesia Парестезія 
Side pain Біль у боці 
Fever Гарячка 
Shoulder pain Біль у плечі 
Shoulder stiffness or tightness Скутість або стиснення у плечі 
Shoulder weakness Слабкість плеча 
Arm cramps or spasms Судоми або спазми у руці 
102 
Продовження таблиці В.2 
Shoulder swelling Набряк плеча 
Tongue lesions Ураження язика 
Leg cramps or spasms Судоми або спазми в нозі 
Abnormal appearing tongue Ненормальний вигляд язика 
Ache all over Біль по всьому тілу 
Lower body pain Біль у нижній частині тіла 
Problems during pregnancy Проблеми під час вагітності 
Spotting or bleeding during pregnancy Кровотеча або виділення під час вагітності 
Cramps and spasms Судоми та спазми 
Upper abdominal pain Біль у верхній частині живота 
Stomach bloating Здуття живота 
Changes in stool appearance Зміни у вигляді калу 
Unusual color or odor to urine Незвичайний колір або запах сечі 
Kidney mass Пухлина нирки 
Swollen abdomen Набряклий живіт 
Symptoms of prostate Симптоми простати 
Leg stiffness or tightness Скутість або стиснення ніг 
Difficulty breathing Труднощі з диханням 
Rib pain Біль у ребрах 
Joint pain Біль у суглобах 
Muscle stiffness or tightness Скутість або стиснення м'язів 
Pallor Блідість 
Hand or finger lump or mass Пухлина або вузлик на руці чи пальці 
Chills Озноб 
Groin pain Біль у паху 
Fatigue Втома 
Abdominal distention Здуття живота 
Regurgitation Регургітація 
Symptoms of the kidneys Симптоми нирок 
Melena Мелена 
Flushing Припливи 
Coughing up sputum Кашель із виділенням мокротиння 
Seizures Судоми 
Delusions or hallucinations Марення або галюцинації 
Shoulder cramps or spasms Судоми або спазми у плечі 
Joint stiffness or tightness Скутість або стиснення суглобів 
Pain or soreness of breast Біль або біль у грудях 
Excessive urination at night Надмірне сечовипускання вночі 
Bleeding from eye Кровотеча з ока 
Rectal bleeding Ректальна кровотеча 
Constipation Запор 
Temper problems Проблеми з настроєм 
Coryza Риніт 
Wrist weakness Слабкість зап'ястя 
Eye strain Напруга очей 
Hemoptysis Кровохаркання 
Lymphedema Лімфедема 
Skin on leg or foot looks infected Шкіра на нозі або стопі виглядає зараженою 
Allergic reaction Алергічна реакція 
103 
Продовження таблиці В.2 
Congestion in chest Застій у грудях 
Muscle swelling Набряк м'язів 
Pus in urine Гній у сечі 
Abnormal size or shape of ear Ненормальний розмір або форма вуха 
Low back weakness Слабкість попереку 
Sleepiness Сонливість 
Apnea Апное 
Abnormal breathing sounds Ненормальні звуки дихання 
Excessive growth Надмірний ріст 
Elbow cramps or spasms Судоми або спазми у лікті 
Feeling hot and cold Відчуття спеки та холоду 
Blood clots during menstrual periods Згустки крові під час менструацій 
Absence of menstruation Відсутність менструації 
Pulling at ears Потягування за вуха 
Gum pain Біль у яснах 
Redness in ear Почервоніння у вусі 
Fluid retention Затримка рідини 
Flu-like syndrome Грипоподібний синдром 
Sinus congestion Закладеність носових пазух 
Painful sinuses Болісні пазухи 
Fears and phobias Страхи та фобії 
Recent pregnancy Недавня вагітність 
Uterine contractions Маткові скорочення 
Burning chest pain Пекучий біль у грудях 
Back cramps or spasms Судоми або спазми у спині 
Stiffness all over Скутість у всьому тілі 
Muscle cramps, contractures, or spasms М'язові судоми, контрактури або спазми 
Low back cramps or spasms Судоми або спазми у попереку 
Back mass or lump Пухлина або вузлик на спині 
Nosebleed Носова кровотеча 
Long menstrual periods Довгі менструації 
Heavy menstrual flow Рясні менструації 
Unpredictable menstruation Непередбачувані менструації 
Painful menstruation Болісні менструації 
Infertility Безпліддя 
Frequent menstruation Часті менструації 
Sweating Потовиділення 
Mass on eyelid Пухлина на повіці 
Swollen eye Набрякле око 
Eyelid swelling Набряк повіки 
Eyelid lesion or rash Ураження або висип на повіці 
Unwanted hair Небажане волосся 
Symptoms of bladder Симптоми сечового міхура 
Irregular appearing nails Ненормальний вигляд нігтів 
Itching of skin Свербіж шкіри 
Hurts to breathe Біль при диханні 
Nailbiting Гризіння нігтів 
Skin dryness, peeling, scaliness, or roughness Сухість шкіри, лущення, лускатість або 
шорсткість 
104 
Продовження таблиці В.2 
Skin on arm or hand looks infected Шкіра на руці або кисті виглядає зараженою 
Skin irritation Подразнення шкіри 
Itchy scalp Свербіж скальпу 
Hip swelling Набряк стегна 
Incontinence of stool Нетримання калу 
Foot or toe cramps or spasms Судоми або спазми в стопі або пальцях 
Warts Бородавки 
Bumps on penis Горбики на пенісі 
Too little hair Занадто мало волосся 
Foot or toe lump or mass Пухлина або вузлик на стопі або пальцях 
Skin rash Висип на шкірі 
Mass or swelling around the anus Пухлина або набряк навколо ануса 
Low back swelling Набряк попереку 
Ankle swelling Набряк щиколотки 
Hip lump or mass Пухлина або вузлик на стегні 
Drainage in throat Виділення у горлі 
Dry or flaky scalp Сухий або лущиться скальп 
Premenstrual tension or irritability Передменструальне напруження або 
дратівливість 
Feeling hot Відчуття спеки 
Feet turned in Підвернуті стопи 
Foot or toe stiffness or tightness Скутість або стиснення в стопі або пальцях 
Pelvic pressure Тиск у тазі 
Elbow swelling Набряк ліктя 
Elbow stiffness or tightness Скутість або стиснення у лікті 
Early or late onset of menopause Ранній або пізній початок менопаузи 
Mass on ear Пухлина на вусі 
Bleeding from ear Кровотеча з вуха 
Hand or finger weakness Слабкість руки або пальців 
Low self-esteem Низька самооцінка 
Throat irritation Подразнення горла 
Itching of the anus Свербіж ануса 
Swollen or red tonsils Набряклі або червоні мигдалики 
Irregular belly button Нерівний пупок 
Swollen tongue Набряк язика 
Lip sore Болячка на губі 
Vulvar sore Болячка на вульві 
Hip stiffness or tightness Скутість або стиснення в стегні 
Mouth pain Біль у роті 
Arm weakness Слабкість руки 
Leg lump or mass Пухлина або вузлик на нозі 
Disturbance of smell or taste Порушення запаху або смаку 
Discharge in stools Виділення у калі 
Penis pain Біль у пенісі 
Loss of sex drive Втрата статевого потягу 
Obsessions and compulsions Нав'язливі ідеї та дії 
Antisocial behavior Антисоціальна поведінка 
Neck cramps or spasms Судоми або спазми шиї 
Pupils unequal Нерівні зіниці 
105 
Продовження таблиці В.2 
Poor circulation Погане кровообіг 
Thirst Спрага 
Sleepwalking Лунатизм 
Skin oiliness Жирність шкіри 
Sneezing Чхання 
Bladder mass Пухлина сечового міхура 
Knee cramps or spasms Судоми або спазми коліна 
Premature ejaculation Передчасна еякуляція 
Leg weakness Слабкість ніг 
Posture problems Проблеми з поставою 
Bleeding in mouth Кровотеча в роті 
Tongue bleeding Кровотеча язика 
Change in skin mole size or color Зміна розміру або кольору родимки 
Penis redness Почервоніння пеніса 
Penile discharge Виділення з пеніса 
Shoulder lump or mass Пухлина або вузлик на плечі 
Polyuria Поліурія 
Cloudy eye Каламутне око 
Hysterical behavior Істерична поведінка 
Arm lump or mass Пухлина або вузлик на руці 
Nightmares Нічні кошмари 
Bleeding gums Кровотеча ясен 
Pain in gums Біль у яснах 
Bedwetting Нічне нетримання сечі 
Diaper rash Попрілості 
Lump or mass of breast Пухлина або вузлик у грудях 
Vaginal bleeding after menopause Вагінальна кровотеча після менопаузи 
Infrequent menstruation Рідкісні менструації 
Mass on vulva Пухлина на вульві 
Jaw pain Біль у щелепі 
Itching of scrotum Свербіж мошонки 
Postpartum problems of the breast Післяпологові проблеми грудей 
Eyelid retracted Втягнута повіка 
Hesitancy Вагання 
Elbow lump or mass Пухлина або вузлик на лікті 
Muscle weakness М'язова слабкість 
Throat redness Почервоніння горла 
Joint swelling Набряк суглобів 
Tongue pain Біль у язикові 
Redness in or around nose Почервоніння у або навколо носа 
Wrinkles on skin Зморшки на шкірі 
Foot or toe weakness Слабкість стопи або пальців 
Hand or finger cramps or spasms Судоми або спазми у руках або пальцях 
Back stiffness or tightness Скутість або стиснення у спині 
Wrist lump or mass Пухлина або вузлик на зап'ясті 
Skin pain Біль у шкірі 
Low back stiffness or tightness Скутість або стиснення у попереку 
Low urine output Мала кількість сечі 
Skin on head or neck looks infected Шкіра на голові або шиї виглядає зараженою 
106 
Продовження таблиці В.2 
Stuttering or stammering Заїкання 
Problems with orgasm Проблеми з оргазмом 
Nose deformity Деформація носа 
Lump over jaw Пухлина над щелепою 
Sore in nose Болячка у носі 
Hip weakness Слабкість стегна 
Back swelling Набряк спини 
Ankle stiffness or tightness Скутість або стиснення у щиколотці 
Ankle weakness Слабкість щиколотки 
Neck weakness Слабкість шиї 
 
 
 
 
 
 
 
107 
ДОДАТОК Г 
 
 
 
 
 
 
 
ЗАСТОСУВАННЯ МЕТОДІВ АНАЛІЗУ ДАНИХ І МАШИННОГО 
НАВЧАННЯ В МЕДИЦИНІ НА ОСНОВІ АНСАМБЛЕВИХ МОДЕЛЕЙ  
 
Текст програми  
482.ЧДТУ.5 2437-01 12 01 
 
Листів 6 
 
Розробник    __________________ Олександр ТКАЧЕНКО 
 
 
 
 
Черкаси – 2025 
108 
import tkinter as tk 
from tkinter import ttk 
import database 
from joblib import load 
import numpy as np 
import scripts_for_models 
def create_loadscrean(): 
    root = tk.Tk() 
    root.title("Load models") 
    root.geometry("400x100") 
    load_label = ttk.Label(root, text="LOADING") 
    load_label.pack(side="top", padx=5, pady=5) 
    load_frame = ttk.Frame(root, padding="10") 
    load_frame.pack(side="left", fill="y", padx=5, pady=5) 
    prog_bar = ttk.Progressbar(load_frame, orient="horizontal", length=350, 
mode="determinate") 
    prog_bar.pack(side="bottom", fill="y") 
    prog_bar["value"] = 0 
    load_label['text'] = 'Random forest' 
    root.update() 
    Random_Forest_Model = load('Random_Forest.joblib') 
    prog_bar["value"] = 20 
    load_label['text'] = 'Naive Bayes' 
    root.update() 
    Nayive_Bayes_Model = load('Nayive_Bayes.joblib') 
    prog_bar["value"] = 40 
    load_label['text'] = 'Logistic Regression' 
    root.update() 
    Logistic_Regression_Model = load('Logistic_Regression.joblib') 
    prog_bar["value"] = 60 
    load_label['text'] = 'XGBoost' 
    root.update() 
    XGBoost_Model = load('XGBoost.joblib') 
    prog_bar["value"] = 80 
    load_label['text'] = 'Neural Network' 
    root.update() 
    Neural_Network_Model = load('Neural_Network.joblib') 
    prog_bar["value"] = 90 
    load_label['text'] = 'KNN' 
    root.update() 
    KNN_Model = load('KNN.joblib') 
    prog_bar["value"] = 100 
    root.update() 
 
    root.destroy() 
 
    root = tk.Tk() 
    root.geometry("900x600") 
    root.title("Neural_Doctor") 
    root.grid_columnconfigure(0, weight=1) 
    root.grid_rowconfigure(0, weight=1) 
 
 
 
    # frame 1 config 
    frame_database = ttk.Frame(root, padding="10", relief="groove") 
    frame_database.grid(row=0, column=0, sticky="nsew", padx=5, pady=5) 
    frame_database.columnconfigure(0, weight=2) 
    frame_database.columnconfigure(1, weight=2) 
    frame_database.columnconfigure(2, weight=2) 
    frame_database.columnconfigure(3, weight=3) 
    frame_database.rowconfigure(0, weight=1) 
    frame_database.rowconfigure(1, weight=1) 
    frame_database.rowconfigure(2, weight=1) 
109 
    frame_database.rowconfigure(3, weight=1) 
    frame_database.rowconfigure(4, weight=1) 
    frame_database.rowconfigure(5, weight=1) 
 
    Patients = ttk.Combobox(frame_database, values = 
sorted(database.GET_ALL_PATIENTS_NAMES()), width=40) 
    Patients.grid(row=0, column=0, padx=5, pady=5, sticky="nsew") 
 
    def Delete(): 
        if Patients.get() == '': 
            print('error') 
        else: 
            database.DELETE_PATIENT(Patients.get()) 
            Patients.config(values=database.GET_ALL_PATIENTS_NAMES()) 
            Patients.set('') 
    Delete_Patient = ttk.Button(frame_database, text='видалити пацієнта', 
command=Delete) 
    Delete_Patient.grid(row=0, column=1, padx=5, pady=5, sticky="nsew") 
 
    Patient_sympthoms = ttk.Entry(frame_database, width=40) 
    Patient_sympthoms.grid(row=1, column=0, padx=5, pady=5, sticky="nsew") 
 
    def ShowSympthoms(): 
        try: 
            Patient_sympthoms.delete(0, 'end') 
            Patient_sympthoms.insert(0, 
database.GET_PATIENT_SYMPTHOMS_RAW(Patients.get())) 
        except: 
            print("nine") 
    Show_Symthoms = ttk.Button(frame_database, text="показати симптоми", 
command=ShowSympthoms) 
    Show_Symthoms.grid(row=1, column=1, padx=5, pady=5, sticky="nsew") 
 
    def addSympthoms(): 
        try: 
            if Patients.get() == '' or Sympthoms.get() == '': 
                print('error') 
            else: 
                database.UPPDATE_PATIENT(Patients.get(), Sympthoms.get()) 
                ShowSympthoms() 
        except: print('error') 
    Add_Sympthoms = ttk.Button(frame_database, text = 'додати симптом', 
command=addSympthoms) 
    Add_Sympthoms.grid(row=2, column=1, padx=5, pady=5, sticky="nsew") 
 
    Sympthoms = ttk.Combobox(frame_database, 
values=(sorted(database.B_ukr)+sorted(database.B_eng)), width=40) 
    Sympthoms.grid(row=2, column=0, padx=5, pady=5, sticky="nsew") 
 
    Patient_Create_Entry = ttk.Entry(frame_database, width=40) 
    Patient_Create_Entry.insert(0, "новий пацієнт") 
    Patient_Create_Entry.grid(row=3, column=0, padx=5, pady=5, sticky="nsew") 
 
    def patient_create(): 
        try: 
            if Patient_Create_Entry.get() == '': 
                print("error") 
            else: 
                database.ADD_NEW_PATIENT(Patient_Create_Entry.get()) 
                Patients.config(values=sorted(database.GET_ALL_PATIENTS_NAMES())) 
                Patient_Create_Entry.insert(0, '') 
        except: print('error') 
    Patient_create = ttk.Button(frame_database, text='додати пацієнта', 
command=patient_create) 
110 
    Patient_create.grid(row=3, column=1, padx=5, pady=5, sticky="nsew") 
 
    def Analyse(): 
        S = np.array(database.Vector_Maker(Patient_sympthoms.get())).reshape(1, -
1) 
        Bayes_prediction = Nayive_Bayes_Model.predict_proba(S) 
        Bayes_sorted_indices = np.argsort(Bayes_prediction[0])[::-1] 
        Bayes_top_diag = Bayes_sorted_indices[:3] 
        Bayes_top_prob = Bayes_prediction[0][Bayes_top_diag] 
        diagnos = f"{scripts_for_models.real_ukr[Bayes_top_diag[0]]} : 
{round(float(Bayes_top_prob[0]), 
3)}\n{scripts_for_models.real_ukr[Bayes_top_diag[1]]} : 
{round(float(Bayes_top_prob[1]), 
3)}'\n{scripts_for_models.real_ukr[Bayes_top_diag[2]]} : 
{round(float(Bayes_top_prob[2]), 3)}" 
        Bayes.delete("1.0", tk.END) 
        Bayes.insert('1.0', diagnos) 
 
        Log_reg_prediction = Logistic_Regression_Model.predict_proba(S) 
        Log_Reg_sorted_indices = np.argsort(Log_reg_prediction[0])[::-1] 
        Log_reg_top_diag = Log_Reg_sorted_indices[:3] 
        Log_reg_top_prob = Log_reg_prediction[0][Log_reg_top_diag] 
        diagnos = f"{scripts_for_models.real_ukr[Log_reg_top_diag[0]]} : 
{round(float(Log_reg_top_prob[0]), 
3)}\n{scripts_for_models.real_ukr[Log_reg_top_diag[1]]} : 
{round(float(Log_reg_top_prob[1]), 
3)}'\n{scripts_for_models.real_ukr[Log_reg_top_diag[2]]} : 
{round(float(Log_reg_top_prob[2]), 3)}" 
        Log_reg.delete("1.0", tk.END) 
        Log_reg.insert('1.0', diagnos) 
 
        Random_Forest_prediction = Random_Forest_Model.predict_proba(S) 
        Random_Forest_sorted_indices = np.argsort(Random_Forest_prediction[0])[::-
1] 
        Random_Forest_top_diag = Random_Forest_sorted_indices[:3] 
        Random_Forest_top_prob = 
Random_Forest_prediction[0][Random_Forest_top_diag] 
        diagnos = f"{scripts_for_models.real_ukr[Random_Forest_top_diag[0]]} : 
{round(float(Random_Forest_top_prob[0]), 
3)}\n{scripts_for_models.real_ukr[Random_Forest_top_diag[1]]} : 
{round(float(Random_Forest_top_prob[1]), 
3)}'\n{scripts_for_models.real_ukr[Random_Forest_top_diag[2]]} : 
{round(float(Random_Forest_top_prob[2]), 3)}" 
        Random_Forest.delete("1.0", tk.END) 
        Random_Forest.insert('1.0', diagnos) 
 
        XGBoost_prediction = XGBoost_Model.predict_proba(S) 
        XGBoost_sorted_indices = np.argsort(XGBoost_prediction[0])[::-1] 
        XGBoost_top_diag = XGBoost_sorted_indices[:3] 
        XGBoost_top_prob = XGBoost_prediction[0][XGBoost_top_diag] 
        diagnos = f"{scripts_for_models.real_ukr[XGBoost_top_diag[0]]} : 
{round(float(XGBoost_top_prob[0]), 
3)}\n{scripts_for_models.real_ukr[XGBoost_top_diag[1]]} : 
{round(float(XGBoost_top_prob[1]), 
3)}'\n{scripts_for_models.real_ukr[XGBoost_top_diag[2]]} : 
{round(float(XGBoost_top_prob[2]), 3)}" 
        XGBoost.delete("1.0", tk.END) 
        XGBoost.insert('1.0', diagnos) 
 
        Neural_Network_prediction = Neural_Network_Model.predict(S) 
        Neural_Network_sorted_indices = 
np.argsort(Neural_Network_prediction[0])[::-1] 
        Neural_Network_top_diag = Neural_Network_sorted_indices[:3] 
        Neural_Network_top_prob = 
111 
Neural_Network_prediction[0][Neural_Network_top_diag] 
        diagnos = f"{scripts_for_models.real_ukr[Neural_Network_top_diag[0]]} : 
{round(float(Neural_Network_top_prob[0]), 
3)}\n{scripts_for_models.real_ukr[Neural_Network_top_diag[1]]} : 
{round(float(Neural_Network_top_prob[1]), 
3)}'\n{scripts_for_models.real_ukr[Neural_Network_top_diag[2]]} : 
{round(float(Neural_Network_top_prob[2]), 3)}" 
        Neural_Network.delete("1.0", tk.END) 
        Neural_Network.insert('1.0', diagnos) 
 
        KNN_prediction = KNN_Model.predict_proba(S) 
        KNN_sorted_indices = np.argsort(KNN_prediction[0])[::-1] 
        KNN_top_diag = KNN_sorted_indices[:3] 
        KNN_top_prob = KNN_prediction[0][KNN_top_diag] 
        diagnos = f"{scripts_for_models.real_ukr[KNN_top_diag[0]]} : 
{round(float(KNN_top_prob[0]), 3)}\n{scripts_for_models.real_ukr[KNN_top_diag[1]]} 
: {round(float(KNN_top_prob[1]), 
3)}'\n{scripts_for_models.real_ukr[KNN_top_diag[2]]} : 
{round(float(KNN_top_prob[2]), 3)}" 
        KNN.delete("1.0", tk.END) 
        KNN.insert('1.0', diagnos) 
 
        def Meta_Analysis(Top_Diag, Top_Prob, diag, prob, acc): 
            for i in range(3): 
                if diag[i] in Top_Diag: 
                    continue 
                else: 
                    Top_Diag.append(diag[i]) 
                    Top_prob.append(0) 
            for i in range(3): 
                Top_Prob[Top_Diag.index(diag[i])] += prob[i]*acc 
            return Top_Diag, Top_Prob 
        Top_diag = [] 
        Top_prob = [] 
        Top_diag, Top_prob = Meta_Analysis(Top_diag, Top_prob, Bayes_top_diag, 
Bayes_top_prob, 0.1666) 
        Top_diag, Top_prob = Meta_Analysis(Top_diag, Top_prob, Log_reg_top_diag, 
Log_reg_top_prob, 0.167) 
        Top_diag, Top_prob = Meta_Analysis(Top_diag, Top_prob, 
Random_Forest_top_diag, Random_Forest_top_prob, 0.1699) 
        Top_diag, Top_prob = Meta_Analysis(Top_diag, Top_prob, XGBoost_top_diag, 
XGBoost_top_prob, 0.1749) 
        Top_diag, Top_prob = Meta_Analysis(Top_diag, Top_prob, 
Neural_Network_top_diag, Neural_Network_top_prob, 0.1657) 
        Top_diag, Top_prob = Meta_Analysis(Top_diag, Top_prob, KNN_top_diag, 
KNN_top_prob,0.1557) 
        for i in range(len(Top_prob)-1): 
            k = i 
            for j in range(i, len(Top_prob)): 
                if Top_prob[j] > Top_prob[k]: 
                    k = j 
            Top_diag[i], Top_diag[k] = Top_diag[k], Top_diag[i] 
            Top_prob[i], Top_prob[k] = Top_prob[k], Top_prob[i] 
        String = '' 
        for i in range(len(Top_diag)): 
            String += scripts_for_models.real_ukr[Top_diag[i]] + " " + 
str(round(Top_prob[i], 3)) + '\n' 
        Meta_Model.delete("1.0", tk.END) 
        Meta_Model.insert('1.0', String) 
 
 
 
    Analysis = ttk.Button(frame_database, text='Аналізувати пацієнта', command = 
Analyse) 
112 
    Analysis.grid(row=4, column=0, padx=5, pady=5, sticky="nsew", columnspan=2) 
 
 
    Bayes = tk.Text(frame_database, width=40, height=5) 
    Bayes.grid(row=0, column=3, padx=5, sticky="nsew") 
 
    Bayes_Label = ttk.Label(frame_database, text ='Наївний Баєс', width=20) 
    Bayes_Label.grid(row=0, column=2, padx=5, pady=5, sticky="nsew") 
 
    Log_reg = tk.Text(frame_database, width=40, height=5) 
    Log_reg.grid(row=1, column=3, padx=5, sticky="nsew") 
 
    Log_reg_Label = ttk.Label(frame_database, text='Логістична регресія', 
width=20) 
    Log_reg_Label.grid(row=1, column=2, padx=5, pady=5, sticky="nsew") 
 
    Random_Forest = tk.Text(frame_database, width=40, height=5) 
    Random_Forest.grid(row=2, column=3, padx=5, sticky="nsew") 
 
    Random_Forest_Label = ttk.Label(frame_database, text='Випадковий ліс', 
width=20) 
    Random_Forest_Label.grid(row=2, column=2, padx=5, pady=5, sticky="nsew") 
 
    XGBoost = tk.Text(frame_database, width=40, height=5) 
    XGBoost.grid(row=3, column=3, padx=5, sticky="nsew") 
 
    XGBoost_Label = ttk.Label(frame_database, text='Градієнтний 
бустинг\nвипадкового лісу', width=20) 
    XGBoost_Label.grid(row=3, column=2, padx=5, pady=5, sticky="nsew") 
 
    Neural_Network = tk.Text(frame_database, width=40, height=5) 
    Neural_Network.grid(row=4, column=3, padx=5, sticky="nsew") 
 
    Neural_Network_Label = ttk.Label(frame_database, text='Згорткова 
нейронна\nмережа', width=20) 
    Neural_Network_Label.grid(row=4, column=2, padx=5, pady=5, sticky="nsew") 
 
    Meta_Model = tk.Text(frame_database, width=40, height=5) 
    Meta_Model.grid(row=5, column=0, padx=5, sticky="nsew", columnspan=2) 
 
    KNN = tk.Text(frame_database, width=40, height=5) 
    KNN.grid(row=5, column=3, padx=5, sticky="nsew") 
 
    KNN_Model_Label = ttk.Label(frame_database, text='Мета аналіз | KNN', 
width=20) 
    KNN_Model_Label.grid(row=5, column=2, padx=5, pady=5, sticky="nsew") 
 
    root.mainloop() 
 
 
if __name__ == '__main__': 
    print(sorted(database.B_ukr)) 
    create_loadscrean()