Makine öğrenmesi sınıflandırma algoritmaları ile kardiyovasküler hastalıklarının tanı ve tahminleri
The diagnosis and predictions of cardiovascular diseases with machine learning classification algorithms
Yazar: EBRU ÖZTÜRK
Danışman: DOÇ. DR. MUTLU AKAR
Yıldız Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Matematik Ana Bilim Dalı / Matematik Bilim Dalı
Derece: Yüksek Lisans, 2024
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Matematik = Mathematics

Özet:
Kardiyovasküler hastalık, dünyada en fazla ölüme ve sakatlığa neden olan bulaşıcı olmayan hastalık ölümlerinin %37 sini oluşturmaktadır. Ölüm miktarının büyük bir çoğunluğuna neden olan kardiyovasküler hastalıklar için erken tanı önemli hale gelmektedir. Teknolojinin gelişmesi ile birlikte günümüzde sağlık sektöründe veri miktarı artış göstermiştir. Sağlık sektöründeki bu artan veri miktarı ile makine öğrenmesi tekniklerini kullanarak verilerin sınıflandırılması ve tahmine dayanan analizlerle anlamlı bilgiler çıkarılması kardiyovasküler hastalıkların erken tanısı için önem arz etmektedir. Bu çalışmada 70.000 gerçek hasta verilerinden oluşturulmuş 11 özelliğe sahip veri setinde makine öğrenmesi teknikleri uygulanarak en başarılı sınıflandırma tahmini yapan algoritmaya ulaşıp hastalığın erken teşhisine katkıda bulunulması hedeflenmiştir. İlk olarak veri seti analiz edilerek PCA yöntemi uygulanmıştır. Hangi özelliklerin kardiyovasküler hastalıklara neden olabileceği tespit edilerek özelliklerin karşılaştırmalı olarak görselleştirilmesi sağlanmıştır. Özellik mühendisliği ile hastanın tansiyonu kategorize edilerek normal, yüksek tansiyon, optimal, hipertansiyon olarak sınıflandırılmıştır. Daha sonrasında lojistik regresyon, karar ağacı, rastgele orman, SVM, KNN, XGBoost, gradient boosting, LightGBM, AdaBoost ve ExtraTree yöntemleri kullanılarak kardiyovasküler hastalık tespiti yapılmıştır. XGBoost yönteminin %96.60 doğruluk oranı ile diğer yöntemlere göre daha başarılı olduğu tespit edilmiştir. Bu yöntemi sırasıyla %91.21 doğruluk oranı ile LightGBM ve %90.26 ile ExtraTree takip etmiştir. Sınıflandırma işleminden sonra modelin doğruluğunun gerçeği yansıtıp yansıtmadığını anlamak için karışıklık matrisi kullanılmıştır. Sınıflandırma modelleri başarısını değerlendirme yöntemlerinden biri olan ROC eğrisi ile XGBoost yönteminin doğruluk oranı grafik ile yorumlanmıştır. ROC eğrisinin altında kalan alan olan AUC skoru hesaplanmıştır.

Abstract:
Cardiovascular disease constitutes 37% of non-communicable disease deaths, leading to the highest number of deaths and disabilities worldwide. Early diagnosis of cardiovascular diseases, which cause a large majority of deaths, has become important. With the advancement of technology, the amount of data in the health sector has increased today. The classification of data using machine learning techniques and the extraction of meaningful information through predictive analyses with this increasing amount of data in the health sector is important for the early diagnosis of cardiovascular diseases. This study aims to contribute to the early diagnosis of the disease by reaching the most successful classification prediction algorithm applied to a dataset with 11 features created from 70,000 real patient data. Initially, the dataset was analyzed, and the PCA method was applied. It has been determined which features may cause cardiovascular diseases, and the features have been visualized comparatively. With feature engineering, the patient's blood pressure was categorized as normal, high blood pressure, optimal, and hypertension. Subsequently, cardiovascular disease detection was performed using logistic regression, decision tree, random forest, SVM, KNN, XGBoost, gradient boosting, LightGBM, AdaBoost, and ExtraTree methods. The XGBoost method was found to be more successful than other methods with an accuracy rate of 96.60%. This method was followed by LightGBM with an accuracy rate of 91.21% and ExtraTree with 90.26%. After the classification process, a confusion matrix was used to understand whether the model's accuracy reflects reality. The accuracy rate of the XGBoost method has been interpreted graphically with the ROC curve, one of the methods for evaluating the success of classification models. The AUC score, which is the area under the ROC curve, has been calculated.