Bu proje, balık türlerini sınıflandırmak için bir derin öğrenme modeli geliştirmeyi amaçlar. Proje, Python dilinde yazılmış olup TensorFlow ve Keras kütüphanelerini kullanmaktadır.
Bu projenin amacı, balık türlerini doğru bir şekilde sınıflandırabilen bir derin öğrenme modeli geliştirmektir. Model, balık resimlerini girdi olarak alır ve bu resimlerin hangi türe ait olduğunu belirler.
Proje, Kaggle platformunda yer alan "A Large Scale Fish Dataset" veri setini kullanır. Bu veri seti, 9 farklı balık türüne ait resimler içerir:
•Hourse Mackerel
•Black Sea Sprat
•Sea Bass
•Red Mullet
•Trout
•Striped Red Mullet
•Shrimp
•Gilt-Head Bream
•Red Sea Bream
Toplam resim sayısı: 9000
Resimler PNG formatındadır.
Kod aşağıdaki adımlardan oluşur:
1. Modülleri İçe Aktarma 📦: Gerekli kütüphanelerin projeye dahil edilmesi.
2. Veri Setini Yükleme 📊: Balık türlerinin resimlerinden oluşan veri setinin yüklenmesi.
3. Veri Setini İnceleme 🔍: Veri setinin analiz edilmesi.
4. Veri Ön İşleme 🔄: Veri setinin ön işleme tabi tutulması, eğitime uygun hale getirilmesi
5. Modelleme 🤖: Model mimarisinin oluşturulması ve Modelin eğitilmesi.
6. Model Performansı ve Değerlendirme Metrikleri 📊: Grafiksel değerlendirme.
7. Test Verileri Üzerinde Sınıf Tahminleri 📝: Modelin sınıf tahminleri
•TensorFlow & Keras: Derin öğrenme modeli oluşturmak için kullanılır.
•Pandas: Veri işleme ve manipülasyon için kullanılır.
•NumPy: Matris ve dizi işlemleri için kullanılır.
•Matplotlib & Seaborn: Görselleştirme ve veri analizi için kullanılır.
Model, TensorFlow/Keras kullanılarak inşa edilmiştir ve aşağıdaki ana bileşenlerden oluşur:
Kullanılan ana katmanlar:
•Dense (Yoğun Katman): Tam bağlantılı katmanlar.
•Flatten (Düzleştirme Katmanı): Veriyi düzleştirir.
•Dropout (Bırakma Katmanı): Aşırı öğrenmeyi önler.
•BatchNormalization: Eğitim sırasında katman çıkışlarını normalize eder.
Adam optimizasyon algoritması kullanılmıştır.
Model, Sequential (Ardışık Model) mimarisini kullanır.
Modelin eğitim ve validasyon sonuçları şu şekildedir:
•Eğitim Loss: 0.2818
•Validasyon Loss: 0.2421
•Eğitim Accuracy (Doğruluğu): %90.74
•Validasyon Accuracy (Doğruluğu): %91.56
Bu sonuçlar, modelin eğitim verisinde iyi performans gösterdiğini ve validasyon seti üzerinde de oldukça tutarlı olduğunu göstermektedir.
Bu projeye dair her türlü öneriye açığım. Bir dal (branch) oluşturup, yaptığınız değişiklikleri pull request ile göndermeniz yeterli!.
https://www.kaggle.com/code/mehmetyusuf/large-scale-fish-classification-ann
Bu projeye ilgi gösterdiğiniz ve katkı sağladığınız için teşekkür ederiz!