Parkinson hastalığı, sinir sistemi bozukluklarından biridir ve motor becerileri etkileyebilir. Bu yazıda, Parkinson hastalığı veri seti kullanarak Motor UPDRS (Unified Parkinson’s Illness Ranking Scale) skorunu tahmin etmek için bir mannequin geliştirdim ve bu modelin R² skorunu 0.89’e kadar nasıl yükselttiğimi adım adım anlatacağım.
1. Veri Setini Anlamak
Veri setimiz, Parkinson hastalığıyla ilgili birçok özelliği içeriyor. Bu özellikler, hastaların yaş, cinsiyet, motor take a look at zamanları ve birçok fizyolojik ölçümü içeriyor. Veri setinin başlıca sütunları şunlardır:
topic#: Katılımcı ID
age: Yaş
intercourse: Cinsiyet
motor_UPDRS: Motor UPDRS skoru (Hedef değişken)
total_UPDRS: Toplam UPDRS skoru
Diğer birçok fizyolojik özellik (örn. Jitter, Shimmer, RPDE)
Modelimizi kurarken, motor_UPDRS skorunu tahmin etmeyi hedefledik. Bu, Parkinson hastalığına sahip bireylerin motor yeteneklerinin değerlendirilmesine yardımcı olur.
2. Veri Ön İşleme
Veri setindeki çeşitli değişkenlerin doğru bir şekilde işlenmesi, modelin başarısı için kritik öneme sahiptir.
Sayısal değişkenler: Eksik değerler ortalama ile dolduruldu, ardından standardize edildi.
Kategorik değişkenler: En sık değer ile dolduruldu, ardından OneHot Encoding uygulandı.
Bu işlem, verideki tüm sütunları modelin “hazmetmesi” için uygun forma dönüştürdü.
a. Yaş Gruplama
Yaş, sürekli bir değişken olup, doğrusal olmayan ilişkiler barındırabilir. Bu yüzden, yaşları belirli gruplara ayırarak modelin daha iyi performans göstermesini sağladık. Aşağıdaki yaş aralıkları kullanıldı:
40–49 yaş
50–59 yaş
60–69 yaş
70–79 yaş
80–89 yaş
Bu gruplama, modelin farklı yaş gruplarındaki farklı davranışları daha iyi öğrenmesini sağladı.
b. Kategorik ve Sayısal Değişkenlerin İşlenmesi
Veri setinde bazı değişkenler sayısal, bazıları ise kategoriktir. Örneğin, age_group ve intercourse gibi kategorik değişkenler, makine öğrenmesi algoritmalarının daha iyi anlaması için one-hot encoding ile işlenmiştir. Sayısal değişkenler ise StandardScaler kullanılarak normalize edilmiştir.
c. Eksik Verilerin İmputasyonu
Veri setinde eksik veriler olabilir, bu yüzden eksik değerler ortalama (sayısal veriler için) veya en yaygın kategori (kategorik veriler için) ile doldurulmuştur. Bu, modelin eğitiminde veri kaybı yaşamadan sağlam bir sonuç elde etmemizi sağlamıştır.
3. Mannequin Seçimi ve Eğitim
a. Mannequin Seçimi
Tahmin modelimiz olarak Random Forest Regressor kullandım. Random Forest, çok sayıda karar ağacından oluşan bir ensemble (toplu) yöntemidir ve çok güçlüdür. Bu modelin avantajları arasında yüksek doğruluk, overfitting’e karşı dayanıklılık ve özelliklerin etkileşimlerini iyi yakalama yeteneği bulunur.
b. Eğitim ve Check Verisi Ayrımı
Veri setini %80 eğitim ve %20 take a look at olarak ayırdık. Eğitim seti, modelin öğrenmesi için kullanılırken, take a look at seti modelin başarısını değerlendirmek için kullanıldı.
c. Mannequin Eğitimi ve Değerlendirme
Modeli eğittikten sonra, R² skoru hesapladık. R² skoru, modelin hedef değişkeni ne kadar iyi tahmin ettiğini gösteren bir metrik olup, 1’e yakın değerler çok iyi bir mannequin performansını ifade eder. Bu modelin R² skoru 0.89 oldu, bu da modelin çok yüksek doğrulukla tahminler yaptığı anlamına gelir.
4. Sonuçlar
Modelin R² skoru 0.91’e ulaşması, age grouping ve doğru özellik mühendisliği (özellikle sayısal ve kategorik değişkenlerin doğru şekilde işlenmesi) gibi adımların modelin başarısını artırmada önemli bir rol oynadığını gösteriyor.
Bu sonuçlar, Parkinson hastalığına dair daha doğru ve güvenilir tahminler yapılmasına olanak tanır. Ayrıca, bu yaklaşım, başka tıbbi veri setleri ve farklı modelleme problemleri için de uygulanabilir.
5. Sonraki Adımlar
Bu modelin performansı daha da iyileştirilebilir. Örneğin:
Hiperparametre optimizasyonu ile modelin ayarlarını daha verimli hale getirebilirsiniz.
Farklı algoritmalar (Gradient Boosting, XGBoost, vb.) ile mannequin performansını karşılaştırabilirsiniz.
Bu skor, modelin varyansın %89’unu açıkladığını gösteriyor.
Yani artık modelimiz gerçekten hastanın motor UPDRS skorunu öngörmede güçlü bir araç.
🧠 Neden Bu Kadar Etkili Oldu?
Özellik mühendisliği netti: Gereksiz sütunlar çıkarıldı, kategorik/sayısal ayrımı doğru yapıldı.
Pipeline ile işlemler otomatize edildi: Eksik değer doldurma, encoding ve scaling adımları sistematik biçimde yürütüldü.
Random Forest doğru tercih oldu: Çoklu nonlineer ilişkileri yakalamada başarılı.
📌 Sonuç
Bu projede öğrendiğimiz en önemli ders: Basit ama düzenli bir yapılandırma bile mannequin performansında büyük sıçramalar yaratabiliyor.
Her şey mannequin değil. Ön işleme, sütun seçimi, ve doğru değerlendirme metodları modelin kaderini belirliyor.