ببین، دادههایی که توی حوزه سلامت و پزشکی جمع میشن، خیلی تعیینکننده هستن؛ چون همین دادهها هستن که باعث میشه پزشک بتونه درست تصمیم بگیره، بیماری رو دقیق تشخیص بده و کلاً سیستم درمان درست کار کنه. اما همیشه یه عالمه مشکل تو دادههای پزشکی هست، مخصوصاً جاهای خالی (Missing Values) یا دادههای عجیبغریب و مشکلدار (که بهشون میگن Anomaly). این مشکلات اگه حل نشن ممکنه باعث خطا توی تشخیص یا تلف شدن منابع بشن.
حالا این مقاله اومده روشهای جدید و باحال مبتنی بر یادگیری ماشین (Machine Learning یعنی کامپیوترها میتونن از رو دادهها یاد بگیرن و کلی کار هوشمندانه انجام بدن) رو بررسی کنه که کیفیت دادههای پزشکی رو ببره بالا. اینجا سه تا موضوع اصلی رو دنبال میکنن: دقت دادهها (Accuracy)، کامل بودن دادهها (Completeness) و قابل استفاده بودنشون تو کارهای بعدی (Reusability).
برای اینکه این روش رو امتحان کنن، از یه دیتاست (Dataset یعنی مجموعهای از دادهها که مثلاً درباره یه بیماری جمعآوری شده) مربوط به دیابت استفاده کردن. این دیتاست کلی اطلاعات داشت: دقیقاً ۷۶۸ تا رکورد (آدم) و ۹ تا ویژگی یا متغیر (مثل سن، قند خون، شاخص چاقی و …). همه چی هم بر مبنای ابزارای رایج پایتون (Python) انجام شد که مخصوص کار با دادهست.
اول اینکه سراغ جاهای خالی رفتن. یعنی بعضی وقتا، مثلاً توی فرم کسی سناش رو نزده یا میزان قندش ثبت نشده. برای پر کردن این خالیها از روشی به اسم K-nearest neighbors imputation استفاده کردن. این الگوریتم میاد نزدیکترین آدمها رو تو داده پیدا میکنه (یعنی کسایی که بقیه ویژگیهاشون شبیه کسیه که دادهاش ناقصه) و حدس میزنه که مقدار جا مونده چی باید باشه.
بعد از اون سراغ حذف دادههای عجیب یا اصطلاحاً آشکارسازی ناهنجاری (Anomaly detection) رفتن. اینجا از روشهای دستهجمعی یا Ensemble Techniques استفاده شده؛ یعنی ترکیبی از چند روش مختلف برای اینکه دقیقتر بفهمن کدوم دادهها مشکوکن و باید اصلاح یا حذف بشن.
یه نکته دیگه اینکه اومدن با تحلیل مؤلفههای اصلی (Principal Component Analysis یا همون PCA، یه روشی برای خلاصه کردن و پیدا کردن ویژگیهای کلیدی تو دادههاست) و تحلیل همبستگی (Correlation Analysis، یعنی اینکه دو تا ویژگی چقدر با هم ارتباط دارن) سر و کله زدن تا بفهمن کدوم فاکتورها تو دیابت بیشتر تاثیر دارن. نتایج نشون داد مهمتریناش قند خون (Glucose)، شاخص توده بدنی یا همون چاقی (BMI)، و سن (Age) بود.
بعدش سراغ مدلسازی پیشبینی رفتن. یعنی خواستن ببینن با این دادههای تمیزشده چه مدلی بهتر میتونه دیابت رو پیشبینی کنه. دوتا مدل خیلی معروف رو امتحان کردن: Random Forest (یه مدل خیلی قوی یادگیری ماشین که با درخت تصمیم کار میکنه) و LightGBM (یه مدل فوقالعاده سریع و کممصرف برای یادگیری ماشین). جالب اینجاست که Random Forest تونسته بهتر عمل کنه، با دقت (Accuracy) حدود ۷۵/۳٪ و AUC برابر با ۰/۸۳ (AUC یه معیار برای بررسی کیفیت مدل پیشبینی هست، هرچی به ۱ نزدیکتر باشه بهتره).
کلاً با این روشها، کامل بودن دادهها از ۹۰/۵۷٪ رسیده به نزدیک ۱۰۰٪! یعنی تقریباً همه دادهها رو تونستن تکمیل کنن. خطاها و دادههای عجیب رو هم بهتر کنترل کردن و نتیجش این شده دادهها برای کارای بعدی به شدت قابل استفادهتر شدن.
تو کل این پروسه، همه چی کاملاً مستندسازی هم شده و ابزارهایی استفاده شده که هر کسی بخواد بتونه دوباره همون روش رو روی یه دیتاست دیگه اجرا کنه (یعنی از پایهکاری قابل تکرار و گسترش دادنه).
در آخر، این مقاله نشون داده اگه یواشکی(!) از یادگیری ماشین استفاده کنیم، کیفیت دادههای پزشکی میتونه خیلی بهتر بشه و این یعنی تشخیص دقیقتر، تصمیمات بهتر برای درمان و حتی ساخت مدلهای پیشبینی دقیقتر برای آینده. پس اگه دنبال اینی بدونی آینده پزشکی چیه، این قضیه یادگیری ماشین رو جدی بگیر!
منبع: +