Skip to content

havva-nur-ezginci/ML-Applications

Repository files navigation

Proje kapsamında farklı veri setleri üzerinde makine öğrenmesi algoritmaları ile çalışılmıştır.

Table of Contents

Water Quality

Kaggle

📌 Proje Açıklaması

Bu projede, model performansını artırmak amacıyla RandomizedSearchCV kullanılarak Hyperparameter Tuning yapılmıştır. Kullanılan makine öğrenmesi modelleri arasında CatBoost en yüksek başarıyı elde etmiştir. Test veri seti üzerinde yapılan değerlendirmelere göre, CatBoost modelinin accuracy_score %80 olarak ölçülmüştür. Ayrıca, CatBoost modelinin değişken (feature) önem düzeyleri incelenmiş ve hangi değişkenlerin model üzerinde daha fazla etkisi olduğu belirlenmiştir.

Confusion Matrix: for Test Data

Confusion Matrix

Heart Attack

Kaggle

📌 Proje Açıklaması

Bu projede, veri setindeki aykırı değerlerin (outliers) tespiti için Z-skoru ve Winsorizing yöntemleri kullanılmıştır. Ayrıca, kategorik özellikler (categorical features) için uygun Encoding işlemleri gerçekleştirilmiştir. Model optimizasyonu aşamasında ise GridSearchCV kullanılarak Hyperparameter Tuning yapılmıştır. Bu projede kullanılan makine öğrenmesi modelleri arasında LogisticRegression en yüksek başarıyı elde etmiştir. Test veri seti üzerinde yapılan değerlendirmelere göre, LogisticRegression modelinin accuracy_score %88 olarak ölçülmüştür.

Confusion Matrix ROC Curve
Confusion Matrix ROC

MNIST

📌 Proje Açıklaması

Bu projede Principal Component Analysis (PCA) kullanılarak boyut indirgeme işlemi gerçekleştirilmiştir.
Model optimizasyonu için Hyperparameter Tuning yöntemi uygulanmış ve GridSearchCV kullanılarak en iyi parametreler belirlenmiştir.

Bu projede kullanılan makine öğrenmesi modelleri arasında MLP ve SVM, en yüksek başarıyı elde etmiştir. Test veri seti üzerinde yapılan değerlendirmelere göre, doğruluk oranı %97 olarak ölçülmüştür. Model değerlendirme sürecinde Voting Classifier (Soft Voting) kullanıldı ve test verisi üzerindeki doğruluk oranı %96 olarak hesaplanmıştır.

MLP Confusion Matrix
SVM Confusion Matrix
Voting Classifier (Soft) Confusion Matrix

California Housing Prices

Kaggle

📌 Proje Açıklaması

To download the dataset, you need to set up the Kaggle API using the kaggle.json API key.

Steps to Set Up Kaggle API

  1. Sign in to Kaggle:

    • Go to Kaggle and log in to your account.
  2. Create a New Kaggle API Token:

    • Visit the Kaggle API page.
    • Click on the "Create New API Token" button.
    • This will download the kaggle.json file.
  3. Place the kaggle.json File in the Appropriate Directory:

    • Windows: Move the kaggle.json file to the following path:
      C:\Users\YourUser\.kaggle\kaggle.json
      
    • Mac/Linux: Move the kaggle.json file to the following path:
      ~/.kaggle/kaggle.json
      
  4. Install the Kaggle Package: Run the following command to install the Kaggle API Python package:

    pip install kaggle
    

Bu projede, konut fiyatlarını tahmin etmek amacıyla çeşitli regresyon modelleri kullanılmıştır. Veri seti üzerinde bazı veri işleme teknikleri uygulanmış, model hiperparametre ayarlamaları yapılmış ve en iyi sonuç veren model seçilmiştir.

Veri İşleme Adımları
  • Kategorik Verilerin Kodlanması: Kategorik sütunlar için One-Hot Encoding kullanılmıştır.
  • Eksik Verilerin Tamamlanması: Eksik veriler, K-Nearest Neighbors (KNN) algoritması ile tamamlanmıştır.
  • Korelasyon Analizi: Değişkenler arasındaki ilişkiler incelenmiş ve hedef değişkenle en güçlü ilişkiyi gösteren özellikler belirlenmiştir.
Model Seçimi ve Hiperparametre Ayarlaması
  • Hiperparametre Ayarlaması: GridSearchCV kullanılarak modellerin hiperparametreleri optimize edilmiştir.
  • En İyi Model: En iyi performans DecisionTreeRegressor (DTR) modeli ile elde edilmiştir. Bu modelin performans metrikleri:
    • MSE (Ortalama Kare Hatası): 3,5
    • R² Skoru: 0.7308
  • Özellik Önem Düzeyleri: Final modeldeki özelliklerin önem düzeyleri incelenmiştir.

Customer Segmentation - Clustering

Kaggle

📌 Proje Açıklaması

  • Veri Analizi ve Ön İşleme: Kategorik değişkenlerin encode edilmesi, verinin standartlaştırılması
  • Boyut Azaltma: PCA ile optimum bileşen sayısının belirlenmesi
  • Optimum Küme Sayısının Belirlenmesi: Yellowbrick
  • Kümeleme Modelleri: K-Means ve Hiyerarşik Kümeleme (Dendrogram - Complete yöntemi)

Random User Login Logs - Clustering

📌 Proje Açıklaması

Bu projede, random kullanıcı giriş kayıtları verisi oluşturulmuş ve çeşitli analizler ile kümeleme yöntemleri uygulanmıştır.

  • Veri Seti Oluşumu: Normal dağılıma sahip rastgele kullanıcı giriş logları oluşturuldu.
  • Veri Analizi ve Görselleştirme: Özelliklerin dağılımları ve korelasyonlar incelenmiştir. Verinin daha iyi anlaşılması için t-SNE tekniği ile görselleştirme yapılmıştır.
  • Kümeleme ve Modelleme: Elbow yöntemi ile optimum küme sayısı belirlenmiştir. Daha esnek bir model olan Gaussian Mixture Model (GMM) kullanılarak kümeleme gerçekleştirilmiştir. Dendrogram yöntemiyle kümeleme, ward yöntemi kullanılarak gerçekleştirilmiştir.

Taxi-v3 Reinforcement Learning

Taxi

📌 Proje Açıklaması

Bu proje, OpenAI Gym ortamındaki Taxi-v3 problemi üzerinde Q-learning algoritması kullanılarak gerçekleştirilmiştir.🚖 Ortam hakkında detaylı bilgi için 👉 https://gymnasium.farama.org/environments/toy_text/taxi/