Bu protokol, tekrarlanabilir bir ön işleme ve değerlendirme yapısı içinde halka açık kıyaslama verileri kullanarak kalp hastalığı tahmini için toplu makine öğrenimi modelleri oluşturmak ve değerlendirmek için hesaplamalı bir süreç oluşturur.
Research Article
Bu protokol, tekrarlanabilir bir ön işleme ve değerlendirme yapısı içinde halka açık kıyaslama verileri kullanarak kalp hastalığı tahmini için toplu makine öğrenimi modelleri oluşturmak ve değerlendirmek için hesaplamalı bir süreç oluşturur.
Bu makale, kalp hastalığının tahmininde Toplu Öğrenme algoritmalarının hesaplamalı bench-marking değerlendirmesini sunar; sert oylama, yumuşak oy verme ve stacking gibi farklı Makine Öğrenimi algoritmalarını tek bir çerçevede birleştirir. Değerlendirme, Kaggle deposundan (https://www.kaggle.com/datasets/sid321axn/heart-statlog-cleveland-hungary-final) elde edilen kamuya açık kardiyovasküler veri seti kullanılarak gerçekleştirildi ve 1.190 vaka ile 11 klinik özelliği içeriyordu. Bu süreç, eksik değerlerin işlemesi, istisna değerlerin kaldırılması, değişkenlerin ölçeklenmesi ve sınıf dengelenmesini içerir; böylece Random Forest (RF) temelli girdi özelliği seçiminin gereksiz özellikleri ortadan kaldırmasını sağlar. Değerlendirilen modeller arasında, üst üste yığma sınıflandırıcısı test veri setinde %91,88 ile en yüksek genel doğruluğu elde etti. Karşılaştırmalı analiz için hassasiyet, hatırlama ve F1 puanı gibi ek metrikler hesaplanmış olsa da, bu çalışmanın vurgusu klinik doğrulamadan ziyade metodolojik kıyaslama üzerinde yürütülmektedir.
Karar Ağacı, Random Forest, AdaBoost ve XGBoost gibi çeşitli temel sınıflandırıcılar bağımsız olarak uygulanır ve test edilir. Bu modeller daha sonra toplu tekniklerle sert oylama, yumuşak oylama ve üst üste biriktirme ile birleştirilir. Üst üste biriktirmede, Lojistik Regresyon meta-model olarak kullanılır; bu model, aşırı uyumdan kaçınmak için katlanmış örneklerin çapraz doğrulanmış tahminleriyle eğitilir.
Değerlendirmeler, karşılaştırma için birincil kriter olarak doğruluk kullanılarak yapılır; böylece bireysel sınıflandırma sistemleri ve kombinasyon stratejileri aynı ön işleme ve doğrulama ortamında eşit şekilde karşılaştırılabilir. Karşılaştırmalı göstergeler için performans metrikleri sunulsa da, yaklaşımın vurgusu stratejilerin geliştirilmesi ve değerlendirilmesinde yatmaktadır, klinik değerlendirmede değil.
Bu protokol, toplu makine öğrenimi algoritmalarını halka açık kardiyovasküler veri setlerinde karşılaştırmayı kolaylaştırır ve veri ön işleme ile topluluk yapılandırma yaklaşımlarının sistematik bir karşılaştırmasını sağlar.
Kamuya açık kardiyovasküler hastalık veri setleri, sınıflandırma algoritmaları ve öngörücü modelleme tekniklerini değerlendirmek için makine öğrenimi araştırmalarında kıyaslama problemleri olarak yaygın olarakkullanılır 1,2,3. Klinik ve demografik özellikler içeren bu veri setleri, kontrollü deneysel koşullarda ön işleme stratejileri, özellik seçme yöntemleri ve topluluk öğrenme mimarileri karşılaştırmak için standartlaştırılmış ve tekrarlanabilir bir temel sağlar. Sonuç olarak, genellikle klinik çıkarım veya gerçek dünyada uygulanan uygulamayı desteklemek yerine algoritmik davranışı değerlendirmek içinkullanılırlar 4,5.
Önceki araştırmalar, kardiyovasküler hastalıkları tahmin etmek için Lojistik Regresyon (LR), Destek Vektör Makineleri (SVM), Rastgele Ormanlar (RF) ve gradyan güçlendirmemodelleri 6,7,8,9 gibi çeşitli makine öğrenimi yöntemlerini incelemiştir. Daha yakın zamanda, modelleri daha istikrarlı hale getirmek ve performanslarını artırmak için sert oylama, yumuşak oy verme ve üst üste yığma gibi topluluk öğrenme tekniklerineodaklanan çalışmalar 10,11,12,13,14. Ancak, verilerin nasıl hazırlandığı, özelliklerin işlendiği, doğrulamanın yapıldığı ve sonuçların bu çalışmalar genelinde ölçülme biçimindeki farklılıklar, doğrudan rapor edilen sonuçları karşılaştırmayı zorlaştırıyor. Literatürde sıkça bildirilen kardiyovasküler hastalık kategorilerine yüksek düzeyde bağlamsal bir genel bakış sunmak için, kavramsal bir örnek Şekil 1'de sunulmaktadır.

Şekil 1: Yalnızca bağlamsal arka plan için dahil edilen yaygın olarak bildirilen kardiyovasküler hastalık kategorilerinin kavramsal örneği. Bu figürün daha büyük bir versiyonunu görmek için lütfen buraya tıklayın.
Şekil 1 yalnızca yüksek düzey bağlamsal referans için dahil edilmiştir ve bu çalışmada analiz edilen veri setinden veya önerilen hesaplama protokolünün herhangi bir çıktısından elde edilen verileri temsil etmez.
Özellikle, mevcut birçok çalışma, özellik seçimi zamanlaması, sınıf dengesi veya toplulukyapılandırması 15,16,17,18 gibi bireysel metodolojik bileşenlerin katkısını açıkça izole etmeden performans sonuçlarını vurgular. Bu değişkenlik, toplu makine öğrenimi yöntemlerini, tutarlı bir ön işleme boru hattı ve değerlendirme protokolü kullanarak kamuya açık bir veri setinde sistematik olarak değerlendiren tekrarlanabilir bir kıyaslama çerçevesine olan ihtiyacı vurgular.
Toplu öğrenme yaklaşımlarının, özellikle üst üstleme yöntemlerinin, standart ön işleme ve doğrulama koşulları altında değerlendirildiğinde, bireysel temel sınıflandırıcılara kıyasla sınıf bazında daha iyi sınıflandırma doğruluğu ve dengeli performans göstereceği varsayılmaktadır.
Buna göre, bu çalışmanın amacı, kamuya açık bir Kaggle veri seti kullanılarak kardiyovasküler hastalık tahmini için toplu makine öğrenimi yaklaşımlarının hesaplamalı bir kıyaslama analizini yapmaktır. Bu süreç, standartlaştırılmış veri ön işlemesini, özelliklerin önemini sıralamak için Random Forest algoritmasının kullanılmasını ve sert oylama, yumuşak oy verme ve üst üste yığmayı içeren farklı topluluk tekniklerinin kullanılmasını içerir. Lojistik Regresyon, yığmada meta-sınıflandırıcı algoritması olarak kullanılır. Bu, aşırı uyum olmamasını sağlar, çünkü çapraz doğrulama tahminleri kullanılır.
Bu çalışma tamamen kamuya açık veri seti kıyaslama araştırması olarak tasarlanmıştır. Bulguları, tek bir veri setine ve veri setine özgü olası önyargılara dayanmakla sınırlıdır ve bu nedenle klinik doğrulama veya uygulama anlamına gelmez. Herhangi bir klinik uygulamanın değerlendirilmesinden önce bağımsız veri setleri ve prospektif değerlendirme kullanılarak dış doğrulama gereklidir.
Aşağıdaki araştırma soruları bu çalışmayı yönlendirir:
Bu çalışma, sert oylama, yumuşak oy verme ve üst üste yığma gibi farklı topluluk makine öğrenimi yaklaşımlarının, kamuya açık bir kardiyovasküler hastalık veri setine uygulandığında sınıflandırma doğruluğu açısından nasıl karşılaştırıldığını inceliyor.
Access restricted. Please log in or start a trial to view this content.
Bu protokol, kamuya açık bir kardiyovasküler hastalık veri seti kullanarak toplu makine öğrenimi modellerinin kıyaslanması için tekrarlanabilir bir hesaplama iş akışını tanımladı.
Veri setinin seçimi
Çalışma, Kaggle deposundan elde edilen halka açık bir kardiyovasküler hastalık veri setini kullandı. Veri seti 1190 örnekten oluşuyor ve 11 özellik içeriyordu. Model eğitimi için verinin %80'i kullanılırken, kalan %20'si performans değerlendirmesi için ayrıldı. Tablo 1, veri seti özelliklerinin ayrıntılı bir tanımını sundu. Veri seti, pandas kütüphanesi (sürüm 1.5.3) kullanılarak Python'a (sürüm 3.9) yüklendi. Veri seti bütünlüğü, eksik değerler, tekrarlanan kayıtlar ve tutarsız veri türleri incelenerek doğrulandı.
Tablo 1 , kardiyovasküler hastalık veri setinde yer alan demografik, klinik ve deneysel özellikleri, veri türleri ve kodlanmış formatlarıyla birlikte özetlemektedir. Bu özellikler, sonraki tüm model eğitim ve değerlendirme prosedürlerinin giriş değişkenlerini oluşturuyordu.
| Sl. Hayır | Özellik Adı | Veri Tipi | Tanım |
| 1 | Yaş | Sayısal | Hastanın yaşı yıllarla. |
| 2 | Cinsellik | Nominal | Erkek 1, Kadın ise 0 olarak temsil edildi. |
| 3 | Göğüs ağrısı tipi | Kategorik | 1: Tipik 2: Tipik angina 3: Anjinal olmayan ağrı 4: Semptomsuz |
| 4 | Dinlenme tansiyonu s | Sayısal | Dinlenme halindeki kan basıncı cıva milimetresi (mmHg) cinsinden ölçülür. |
| 5 | Kolesterol seviyesi | Sayısal | Serum kolesterolü miligram başına desilitre (mg/dL) cinsinden. |
| 6 | Açlık kan şekeri | Nominal | Oruç sırasında 120 mg/dl'nin üzerindeki kan şekeri seviyeleri doğru için 1, yanlış için 0 olarak gösterilir. |
| 7 | Dinlenme EKG'si | kategorik | Üç farklı değer şu şekilde atanmıştır: 0 Normal için, 1 ST-T dalgasında Anormallik ve 2 Sol ventriküler hipertrofi için. |
| 8 | Maksimum kalp atış hızı | Sayısal | Ulaşılan zirve kalp atış hızı |
| 9 | Egzersiz angina | Nominal | Egzersizle indüklenen anjina, burada 0 HAYIR, 1 ise Evet'i temsil eder. |
| 10 | Oldpeak | Sayısal | Egzersiz sırasında ST-depresyon, dinlenme durumuna kıyasla. |
| 11 | ST eğimi | kategorik | Zirve egzersiz sırasında ST segment eğimi şu şekilde kategorize edilmiştir: 0: Normal 1: Yukarı eğim 2: Düz 3: Aşağı eğim |
Tablo 1: Kalp hastalığı tahmini için kullanılan veri seti özelliklerinin tanımı.
Verilerin ön işlemesi
Veri ön işleme Python kütüphaneleri kullanılarak gerçekleştirildi. Eksik değerleri içeren satırlar pandalar kullanılarak kaldırıldı. DataFrame.dropna() fonksiyonunu oluşturdu. Sayısal özelliklerdeki istisnalar, dörtlükler arası aralık (IQR) yöntemi ve özellikler arasında dağılımı ve tespit edilen outlier'leri gösteren kutu grafik tabanlı görselleştirme kullanılarak tanımlanmış ve kaldırılmıştır (Şekil 2). Tüm sayısal değişkenler, scikit-learn kütüphanesinden (sürüm 1.2.2) StandardScaler fonksiyonu kullanılarak ölçeklendirilmiştir. Sınıf dengesizliği, model eğitiminden önce dengeli bir sınıf dağılımı elde etmek için rastgele yetersiz örnekleme yoluyla ele alındı.

Şekil 2: Kardiyovasküler Hastalık Veri Setindeki Tüm Özelliklerin Kutu Grafiği. Bu figürün daha büyük bir versiyonunu görmek için lütfen buraya tıklayın.
Pearson korelasyon katsayısı (PCC), özellikler arasındaki ilişkileri değerlendirmek için kullanıldı. Ortaya çıkan korelasyon matrisi, ısı haritası olarak görselleştirilmiş, çiftli özellik korelasyonlarının gücünü ve yönünü gösterir ve eleme için gereksiz özellikleri vurgular (Şekil 3).

Şekil 3: Kalp Hastalığı Veri Seti için Korelasyon Matrisi. Bu figürün daha büyük bir versiyonunu görmek için lütfen buraya tıklayın.
Model, korelasyon matrisinin estetik açıdan hoş bir ısı haritası elde eder ve verilerdeki farklı özellikler arasındaki korelasyonların daha hızlı anlaşılmasını sağlar. Bu ısı haritası, değerlerin ne kadar ve hangi yönde korelasyon yaptığını göstermek için renkler kullanır ve bu da onu Keşif Veri Analizinde önemli bir araç haline getirir. Daha açık renkler daha yüksek pozitif korelasyonlar gösterir, koyu renkler daha yüksek negatif korelasyonlar gösterir ve daha fazla yeşil sıfıra yakın korelasyon gösterir.
Özellik çıkarımı
Özellik seçimi, açık kaynaklı makine öğrenimi kütüphanelerinde RandomForestClassifier aracılığıyla uygulanan Random Forest özellik önemi kullanılarak gerçekleştirildi. Özellik önemi puanları, kirlilikteki ortalama azalmaya dayanarak hesaplandı ve özellikler buna göre sıralandı. En üst N sıralamalı özellikler sonraki analizler için korundu. Özellik seçimi, tüm ön işleme adımları tamamlandıktan sonra ve tren-test bölünmesinden önce uygulandı; böylece tüm sınıflandırma modelleri ve topluluk konfigürasyonlarında sabit ve tutarlı bir özellik seti kullanıldı (Şekil 4).

Şekil 4: Random Forest özellik önemi kullanılarak hesaplanan özellik önem puanları. Özellikler normalleştirilmiş önem değerine göre sıralanır. Bu figürün daha büyük bir versiyonunu görmek için lütfen buraya tıklayın.
Özellikler, Rastgele Orman özellik önemi kullanılarak ortalama safsızlık azalmasına göre sıralandı random_state = 42; ancak, mevcut tüm özellikler (N = 11) sonraki model eğitimi için korundu. Özellik seçimi, ön işleme sonrası ve tren-test bölünmesinden önce uygulandı, böylece tüm modellerde sabit bir özellik seti sağlandı.
Model eğitimi ve topluluk yapısı
Veri seti, train_test_split() fonksiyonuyla 80:20 bölünme oranı kullanılarak eğitim ve test alt kümelerine bölündü. Eğitim verileri yalnızca model geliştirme ve ensemble oluşturma için kullanılırken, test verileri performans değerlendirmesi için ayrıldı. Karar Ağacı, Random Forest, AdaBoost ve XGBoost gibi temel sınıflandırıcılar, eğitim veri setinde varsayılan hiperparametre ayarları kullanılarak eğitildi, aksi belirtilmedikçe.
Oylama ve yumuşak oy topluluk modelleri, VotingClassifier kullanılarak oluşturulmuş, objektif karşılaştırma sağlamak için tüm temel sınıflandırıcılara eşit ağırlıklar atanmıştır. Bir yığma topluluk modeli, meta-sınıflandırıcı olarak Lojistik Regresyon kullanılarak uygulanmıştır. Meta-sınıflayıcı, temel sınıflandırıcıların 5 katlı çapraz doğrulaması yoluyla oluşturulan katlanma dışı tahminler üzerinde eğitildi; bu da aşırı uyumu azalttı ve topluluk performansının tarafsız tahminini mümkün kıldı.
Önerilen model
Önerilen topluluk çerçevesi, birden fazla topluluk öğrenme stratejisi kullanarak bileşik bir sınıflandırıcı oluşturmak için uygulanmıştır. Tüm eğitim verileri standartlaştırıldı ve eğitim ile değerlendirme aşamaları arasında tutarlılık sağlamak için test verilerine aynı ön işleme adımları uygulandı. Temel sınıflandırıcılar sert oylama, yumuşak oy ve üst üstleme mekanizmalarıyla entegre edildi ve üst üstleme meta-sınıflandırıcısı, çapraz doğrulama tahminleri üzerinde Lojistik Regresyon kullanılarak eğitildi. Topluluk çerçevesinin genel mimarisi ve veri akışı (Şekil 5).

Şekil 5: Önerilen Modelin Mimarisi. Bu figürün daha büyük bir versiyonunu görmek için lütfen buraya tıklayın.
Seviye-I:
Toplu çerçevenin Seviye I'inde, dört temel sınıflandırıcı—Random Forest, Decision Tree, XGBoost ve AdaBoost—ölçeklenmiş eğitim veri seti kullanılarak eğitildi. Bu temel sınıflandırıcılar birleştirilerek hem sert oylama hem de yumuşak oy topluluk modelleri oluşturuldu. Tüm temel sınıflandırıcılara eşit ağırlıklar atandı; böylece nesnellik ve topluluk yapısı sırasında farklısal ağırlık ayarından kaynaklanan önyargıyı önlemek sağlandı.
Seviye-II:
Seviye II'de, temel sınıflandırıcılar tarafından üretilen tahminlerin birleştirilmesiyle bir yığma topluluk sınıflandırıcısı uygulandı. Temel sınıflandırıcılar 5 katlı çapraz doğrulama kullanılarak eğitildi ve her katlama için katlanma dışı tahminler üretildi. Bu katlanmış tahminler, Lojistik Regresyon meta-sınıflayıcısını eğitmek için giriş özellikleri olarak kullanıldı; böylece aşırı uyum azaltıldı ve topluluk performansının tarafsız tahminini mümkün kıldı.
Access restricted. Please log in or start a trial to view this content.
Bu bölüm, veri ön işleme ve özellik seçiminin etkilerini sunar, bireysel ve toplu sınıflandırıcıların performansını karşılaştırır ve standart değerlendirme metrikleri boyunca kıyaslama sonuçlarını özetler. Eksik değerin kaldırılması, sınıf dengeleme ve özellik ölçeklendirme dahil olmak üzere veri ön işlemesi, tüm sınıflandırıcılar arasında tutarlı girdi dağılımları üretti. Ön işlenmiş veriler üzerinde eğitilen modeller, işlenilmemiş bazlara kıyasla tekrarlanan 5 katlı çapraz doğrulama çalışmaları ve tren-test bölünmeleri...
Access restricted. Please log in or start a trial to view this content.
Bu çalışma, stacking tabanlı topluluk öğreniminin, standart ön işleme ve kıyaslama koşullarında bireysel sınıflandırıcılar ve oy kullanmaya dayalı topluluklara kıyasla tutarlı şekilde üstün ve daha istikrarlı sınıflandırma performansı sağladığını göstermektedir.
Bu çalışmada gözlemlenen topluluk performansının tutarlılığı, karşılaştırmalı makine öğrenimi araştırmalarında metodolojik titizliğin öneminipekiştirmektedir 19,20,21,22,23,24,2...
Access restricted. Please log in or start a trial to view this content.
Yazarlar, bu araştırma çalışmasıyla ilgili çıkar çatışmaları olmadığını belirtmektedir. Bu makalede sunulan sonuçlar, analizler veya sonuçlar üzerinde hiçbir maddi, kişisel veya profesyonel ilişki etkili olmamıştır.
Yazarlar, bu çalışmayı destekleyen kamuya açık veri setleri ve açık kaynak yazılım kaynaklarının kullanıldığını kabul etmektedir. Yazarlar ayrıca, bu çalışmayı yürütebilmek için gerekli akademik ortamı ve araştırma olanaklarını sağladıkları için Bhubaneswar'daki Sri Sri Üniversitesi ve Bhubaneswar SOA Üniversitesi dahil olmak üzere kendi kurumlarına teşekkür etmektedir.
Access restricted. Please log in or start a trial to view this content.
| Name | Company | Catalog Number | Comments |
|---|---|---|---|
| AdaBoostClassifier | scikit-learn Geliştiriciler | Yok | Kıyaslama için kullanılan topluluk güçlendirici sınıflandırıcı |
| Jupyter Notebook | Proje Jupyter | Yok | Hesaplamalı not defteri ortamı |
| Kaggle Heart Statlog (Cleveland– Macaristan) veri seti | Kaggle | Yok | Kamu kardiyovasküler veri seti (1190 örnek, 11 özellik). URL: https://www.kaggle.com/datasets/sid321axn/heart-statlog-cleveland-hungary-final |
| Lojistik Regresyon | scikit-learn Geliştiriciler | Yok | Üst üste yığma topluluğunda kullanılan meta-sınıflandırıcı |
| Matplotlib | Matplotlib Geliştirme Ekibi | Yok | Veri görselleştirme kütüphanesi |
| NumPy | NumPy Geliştiricileri | Yok | Sayısal hesaplama kütüphanesi |
| pandas (Sürüm 1.5.3) | pandas Geliştirme Ekibi | Yok | Veri ön işleme ve işleme |
| Python (Sürüm 3.9) | Python Yazılım Vakfı | Yok | Uygulama için kullanılan programlama ortamı |
| RandomForestClassifier | scikit-learn Geliştiriciler | Yok | Temel sınıflandırıcı ve özellik önemi hesaplaması |
| Seaborn | Seaborn Gelişim Ekibi | Yok | Korelasyon matrisinin ısı haritası görselleştirmesi |
| StandardScaler | scikit-learn Geliştiriciler | Yok | Özellik ölçeklendirme fonksiyonu |
| Oylama Sınıflandırıcısı | scikit-learn Geliştiriciler | Yok | Sıkı ve yumuşak oy topluluğu uygulaması |
| XGBoostClassifier | DMLC | Yok | Temel öğrenici olarak kullanılan gradyen güçlendirici sınıflandırıcı |
Access restricted. Please log in or start a trial to view this content.
Request permission to reuse the text or figures of this JoVE article
Request Permission