Машинне навчання за допомогою Python 03: Розпізнавання діабету 3 типу за допомогою алгоритму випадкового лісу

Перше публікування: 20 січня 2025 року

Остання зміна: ???

pic

Fig. 0

Огляд

Цей звіт є продовженням попереднього. У попередньому звіті я застосував алгоритм логістичної регресії для побудови моделі класифікації для двох груп діабету: група А та група Б. Група А складається з чотирьох типів, тоді як група Б містить дев'ять типів. Група А включає діабет, викликаний стероїдами, діабет 2 типу, вторинний діабет і діабет 3 типу (панкреатогенний діабет). У цьому звіті я застосував алгоритм випадкового лісу для побудови моделі розпізнавання діабету 3 типу (панкреатогенний діабет). Іншими словами, я розділив групу А на дві підгрупи: групу А1 та групу А2. Група А2 містить лише діабет 3 типу, тоді як група А1 включає інші три типи діабету з групи А. В результаті я розробив модель розпізнавання діабету 3 типу, яка досягла 99,9% чутливості, 93% точності тестування та 88% специфічності для допомоги лікарям у розпізнаванні діабету 3 типу.

-

Опис набору даних

Набір даних такий самий, як у Machine Learning Using Python 02: Класифікація двох груп діабету з логістичною регресією на 99%. Ви можете переглянути детальний опис у моїй статті, Machine Learning Using Python 02, якщо це необхідно.

-

Обробка даних

Групи А1 та А2 були виділені з групи А. Група А1 містить три типи: діабет, викликаний стероїдами, діабет 2 типу та вторинний діабет. Група А2 містить лише один тип — діабет 3 типу (панкреатогенний діабет). Група А1 містить 16151 запис, а група А2 — 5320 записів. Спостерігається явище дисбалансу даних. Тому для досягнення балансу даних для групи А1 потрібне випадкове вибіркове обирання. Після балансування даних група А1 має 5320 записів. Після балансування кожна група містить 5320 записів, що дає загалом 5320 × 2 = 10640 записів. Результат показаний на рис. 1.

pic

Fig. 1

-

Підготовка даних

Перед навчанням моделі важливо поділити дані на навчальну та тестову вибірки. Тому я поділив 80% даних на навчальну вибірку та 20% на тестову. Іншими словами, модель розпізнавання діабету 3 типу була навчена на 8512 записах і протестована на 2128 записах.

-

Навчання моделі

Моя модель розпізнавання діабету 3 типу була навчена за допомогою алгоритму випадкового лісу. Випадковий ліс складається з кількох дерев рішень. Кількість дерев у лісі є гіперпараметром, який можна налаштовувати. Модель може досягти вищої точності, коли кількість дерев правильно налаштована. Також можна налаштувати максимальну глибину дерев, що може покращити продуктивність моделі. Крім того, можна почати з меншої кількості дерев (наприклад, 50), поступово збільшувати кількість дерев і спостерігати зміни в продуктивності моделі. Врешті-решт, я розробив модель розпізнавання діабету 3 типу, використовуючи алгоритм випадкового лісу. Модель досягла 99,9% чутливості та 93% точності тестування для допомоги лікарям у визначенні діабету 3 типу.

-

Оцінка продуктивності моделі

За допомогою моделі, яку я навчив, 99,9% пацієнтів з діабетом 3 типу були правильно ідентифіковані. Чутливість 99,9% можна обчислити з матриці сплутування за формулою TP/(TP+FP) = [1063/(1063+1)] 100%= 99,9%. Матриця сплутування показана на рис. 2, і група А2 містить лише діабет 3 типу. Крім того, я показав прогнозовані результати 100 тестових записів, вибраних випадковим чином з 2128 записів на рис. 4. Всі зірочки жовті, що ще раз підтверджує 99,9% здатність ідентифікувати пацієнтів з діабетом 3 типу. 2128 записів — це розмір тестової вибірки, яка складає 20% від набору даних (1064020%=2128). Також я надаю ROC-криву для перегляду загальної продуктивності бінарної класифікації на рис.
3.

pic

Fig. 2

pic

Fig. 3

pic

Fig. 4

-

Висновок

Мені вдалося успішно створити модель машинного навчання для продовження класифікації різних типів діабету. Я використовую алгоритм випадкового лісу, щоб досягти 99,9% чутливості, 88% специфічності та 93% точності тестування при розпізнаванні діабету 3 типу (панкреатогенний діабет). Цей результат демонструє, що моя модель досягає високого рівня відгуку для допомоги лікарям у здійсненні попередніх діагнозів при розпізнаванні діабету 3 типу.

Перекладено з: Machine Learning using Python 03 : Type 3c Diabetes Recognition with Random Forest Algorithm

Leave a Reply

Your email address will not be published. Required fields are marked *