Bu proje, Fashion MNIST veri seti üzerinde çeşitli makine öğrenimi modellerinin performanslarını karşılaştırmak amacıyla yürütülmüştür. Projede kullanılan modeller şunlardır:
- K-Nearest Neighbors (KNN)
- Random Forest
- Decision Tree
- Support Vector Machine (SVM)
- XGBoost
- Gradient Boosting
Her bir modelin eğitim ve test doğruluğu, F1 skoru, hatırlama ve kesinlik gibi metrikler kullanılarak değerlendirilmiştir.
- Kurulum
- Veri Seti
- Kullanılan Yöntemler
- Sonuçlar
- Tartışma ve Değerlendirme
- Görseller
Bu projeyi çalıştırmak için aşağıdaki adımları izleyin:
git clone https://github.com/guryelf/aygaz_yapay_zeka_bootcamp.git
cd fashion-mnist-ml-comparison
pip install -r requirements.txt
jupyter notebook
fashion_mnist_comparison.ipynb dosyasını açın ve hücreleri sırasıyla çalıştırın.
Fashion MNIST, 10 farklı moda ürünü sınıfına ait 70,000 gri tonlamalı görüntüden oluşan bir veri setidir. Görüntüler 28x28 piksel boyutundadır. Veri seti, eğitim için 60,000 ve test için 10,000 görüntü içermektedir. Sınıflar aşağıdaki gibidir:
- Tişört/Üst
- Pantolon
- Kazak
- Elbise
- Ceket
- Sandalet
- Gömlek
- Spor Ayakkabı
- Çanta
- Çizme
KNN, her bir veri noktasını en yakın komşularına göre sınıflandıran basit bir algoritmadır. Bu projede, n_neighbors=5 olarak belirlenmiştir.
Random Forest, birden fazla karar ağacından oluşan bir topluluk yöntemidir. Ağaçların çoğunluk kararına göre sınıflandırma yapar.
Decision Tree, verileri özelliklerine göre sınıflandıran ve her dalında kararlar alarak ilerleyen bir yapıdır.
SVM, verileri ayıran en iyi hiper düzlemi bulmaya çalışan bir sınıflandırıcıdır.
Gradient Boosting, hata oranını azaltmak için zayıf sınıflandırıcılar ekleyerek çalışan bir topluluk yöntemidir.
XGBoost, Gradient Boosting algoritmasının optimize edilmiş bir versiyonudur. Genellikle daha hızlı ve daha performanslıdır.
Model | Eğitim Doğruluğu | Test Doğruluğu | F1 Skoru | Recall | Precision |
---|---|---|---|---|---|
KNN | 0.8998 | 0.8554 | 0.8546 | 0.8554 | 0.8578 |
Random Forest | 0.9999 | 0.8733 | 0.8717 | 0.8733 | 0.8722 |
Decision Tree | 1.0000 | 0.7902 | 0.7910 | 0.7902 | 0.7920 |
Gradient Boosting | 0.9113 | 0.8681 | 0.8677 | 0.8681 | 0.8677 |
XGBoost | 0.9997 | 0.8985 | 0.8717 | 0.9012 | 0.9013 |
SVM | 0.9128 | 0.8828 | 0.8823 | 0.8823 | 0.8823 |