Bu depo, Alzheimer hastalığının farklı evrelerini sınıflandırmak için TensorFlow ve Keras kullanılarak oluşturulmuş bir Konvolüsyonel Sinir Ağı (CNN) modelini içermektedir. Sınıflandırılan evreler şunlardır:
- Yok (Alzheimer Yok)
- Çok Hafif (Çok Hafif Alzheimer)
- Hafif (Hafif Alzheimer)
- Orta (Orta Derece Alzheimer)
Bu projede kullanılan veri seti şu şekilde yapılandırılmıştır:
/kaggle/input/medical-scan-classification-dataset/Alzheimer/Alzheimer/MRI
Veri seti, yukarıda belirtilen sınıflara ayrılmış MRI taramalarından oluşmaktadır. Görüntülerin ön işlenmesi için ImageDataGenerator kullanılmıştır. Piksel değerleri [0,1] aralığına yeniden ölçeklendirilmiş ve veri seti eğitim ve doğrulama alt kümelerine ayrılmıştır.
Model, aşağıdaki gibi tasarlanmış bir Sıralı Konvolüsyonel Sinir Ağı'dır (CNN):
- Conv2D + ReLU Aktivasyonu (32 filtre, 3x3 kernel)
- MaxPooling2D (2x2 havuzlama boyutu)
- Conv2D + ReLU Aktivasyonu (64 filtre, 3x3 kernel)
- MaxPooling2D (2x2 havuzlama boyutu)
- Conv2D + ReLU Aktivasyonu (128 filtre, 3x3 kernel)
- MaxPooling2D (2x2 havuzlama boyutu)
- Flatten Katmanı
- Dense Katmanı (128 birim, ReLU aktivasyonu)
- Dense Çıkış Katmanı (Softmax aktivasyonlu 4 sınıf)
Model şu şekilde derlenmiştir:
- Optimizasyon: Adam
- Kayıp Fonksiyonu: Categorical Crossentropy
- Metrikler: Doğruluk
- Eğitim Alt Kümesi: Veri setinin %90'ı
- Doğrulama Alt Kümesi: Veri setinin %10'u
- Batch Boyutu: 32
- Görüntü Boyutu: 150x150 piksel
- Epok Sayısı: 10
ImageDataGenerator, gerçek zamanlı veri artırma sağlar ve aşırı öğrenmeyi önlemek için verileri eğitim ve doğrulama kümelerine ayırır.
Kaggle ve Visual Studio Code ortamında geliştirilmiştir.
Proje için aşağıdaki Python kütüphaneleri gereklidir:
- TensorFlow
- NumPy
- Matplotlib
- Keras
Keras, derin öğrenme (deep learning) uygulamaları geliştirmek için kullanılan açık kaynaklı bir Python kütüphanesidir. Başlangıçta Theano ve TensorFlow gibi arka uç kütüphanelerine dayanarak çalışıyordu, ancak günümüzde TensorFlow'un yüksek seviyeli API'si olarak entegre edilmiştir. Keras, kullanıcı dostu ve modüler bir yapıya sahip olup, hızlı prototipleme, eğitim ve derin öğrenme modellerinin geliştirilmesi için idealdir.
NumPy, Python dilinde büyük sayılar ve çok boyutlu diziler üzerinde hızlı ve etkili matematiksel işlemler gerçekleştirmeye olanak sağlayan bir python kütüphanedir. NumPy, aynı zamanda Python'da matematiksel işlemler yapmak için kullanılan diğer kütüphanelerle uyumlu bir şekilde çalışır.
TensorFlow, makine öğrenimi için ücretsiz ve açık kaynaklı bir yazılım kütüphanesidir . Bir dizi görevde kullanılabilir, ancak derin sinir ağlarının eğitimi ve çıkarımına özel olarak odaklanmaktadır
Matplotlib, Python programlama dilinin temel çizim kitaplığıdır. Python görselleştirme paketleri arasında en yaygın kullanılanıdır.
Eğitim sırasında doğruluk ve doğrulama doğruluğu, 10 epok boyunca şu şekilde çizilmiştir:
Modelin doğrulama veri seti üzerindeki tahminleri, gerçek etiketlerle birlikte görüntülenmiştir. Aşağıda bir örnek verilmiştir:
| Tahmin Edilen Sınıf | Gerçek Sınıf |
|---|---|
| Çok Hafif Alzheimer | Çok Hafif Alzheimer |
| Hafif Alzheimer | Hafif Alzheimer |
| Yok | Yok |
| Orta Alzheimer | Orta Alzheimer |
-
Bu depoyu klonlayın:
git clone https://github.com/your-username/alzheimer-mri-classification.git cd alzheimer-mri-classification -
Gerekli kütüphaneleri yükleyin:
pip install tensorflow matplotlib numpy
-
Veri setini hazırlayın:
Veri setinin şu şekilde organize edildiğinden emin olun:
/MRI/ /hafif/ /orta/ /yok/ /çok hafif/ -
Eğitim scriptini çalıştırın:
python train_model.py
-
Sonuçları ve tahminleri görselleştirmek için değerlendirme scriptini çalıştırın:
python evaluate_model.py
- Daha fazla sınıf veya veri seti desteği eklenmesi.
- Gelişmiş veri artırma tekniklerinin dahil edilmesi.
- VGG16 veya ResNet gibi önceden eğitilmiş modeller kullanılarak transfer öğrenme yapılması.
Katkılar memnuniyetle karşılanır! İyileştirmeler veya ek özellikler için sorunlar açabilir veya pull request gönderebilirsiniz.






