Пациенты, которые получили SMS-напоминание, пропускали приёмы чаще, чем те, кто его не получал
Именно это показали данные. Я не удивилась, ведь я видела эту историю каждую неделю.
Что меня удивило, насколько плохо работала исходная модель. 80% accuracy. Звучит неплохо, но клинически модель то бесполезна🥲 ———————————— Это было учебное задание. 110 000 записей на приём из системы здравоохранения Бразилии. Я построила модель, сдала работу, и пошла дальше. Потом вернулась и не смогла оставить все как есть.
Нашла три проблемы:
❗️Нет разделения на train/test. ❗️Дисбаланс классов проигнорирован (~80% пришли, 20% нет). ‼️Accuracy как основная метрика.
Я переделала проект.
🌀Добавила wait time как признак (дни между записью и приёмом) 🌀Стратифицированное разделение train/test 🌀 class_weight=‘balanced’ для работы с дисбалансом 🌀Recall как основная метрика 🌀Клиническая интерпретация для каждого вывода
Что реально показали данные:
❕Чем дольше ожидание между записью и приёмом, тем выше вероятность пропуска.
❕Пациенты с гипертонией или диабетом приходили стабильнее. Хроническое заболевание формирует привычку - отвественно относиться к лечению.
❕Молодые пациенты (20–40 лет) пропускали чаще.
Возвращаясь к парадоксу с SMS. Напоминания чаще отправляли пациентам с историей пропусков. SMS не вызывает пропуск. Он маркирует того, кто и так, скорее всего, не придёт.
Именно поэтому медицинские данные требуют клинического контекста. Цифры не объяснят себя сами.
Проект на Kaggle и GitHub🚀