Kurs Açıklaması
Veri çağında rekabet avantajı sağlamanın anahtarı, veriden anlamlı içgörüler çıkarabilmektir.
Bu kapsamlı eğitim, katılımcılara makine öğrenmesinin temellerinden başlayarak gerçek dünya problemlerini çözebilecek seviyeye kadar pratik bir yolculuk sunar.
Python ve scikit-learn ekosistemiyle veri ön işleme, model kurma, hiperparametre optimizasyonu ve model değerlendirme süreçlerini uygulamalı olarak öğreneceksiniz.
XGBoost, LightGBM gibi modern algoritmaları kullanarak tahmin modelleri geliştirebilir, SHAP ile modellerinizi açıklayabilir ve dengesiz veri setleriyle başa çıkabilir hale geleceksiniz.
Hedef Kitle
Bu eğitim, veri odaklı karar verme süreçlerinde aktif rol almak isteyen ve makine öğrenmesi ile iş değeri yaratmak isteyen profesyoneller için tasarlanmıştır.
Veri analistleri ve bilimcileri: ML becerilerini derinleştirmek ve modern algoritmalarla tanışmak isteyenler için idealdir.
Yazılım geliştiriciler: Uygulamalarına tahmin ve sınıflandırma yetenekleri eklemek isteyenler faydalanabilir.
İş analistleri ve ürün yöneticileri: Veri odaklı stratejiler geliştirmek ve ML projelerini daha iyi yönetmek için teknik altyapı kazanabilir.
Mühendisler, araştırmacılar ve akademisyenler: Üretim optimizasyonu, kalite kontrol veya bilimsel araştırmalarda ML kullanmak için sağlam bir temel oluşturabilir.
Finans, pazarlama, satış ve operasyon departmanlarında çalışan profesyoneller: Tahmin modelleri ile süreçlerini iyileştirmek isteyen herkes yararlanabilir.
Ön Koşul
Python programlama dilinde temel seviye bilgi (değişkenler, döngüler, fonksiyonlar)
Temel istatistik kavramlarına aşinalık (ortalama, standart sapma, korelasyon)
Pandas kütüphanelerinde başlangıç düzeyi deneyim (tercih edilir, gerekli değil)
Kazanımlar
Makine öğrenmesinin temellerini kavrayıp farklı ML öğrenme türlerini ayırt edebilmek
Train/validation/test split mantığını uygulayıp overfitting/underfitting problemlerini tespit ve çözebilmek
Farklı cross-validation stratejilerini (K-Fold, StratifiedKFold, TimeSeriesSplit) seçip uygulayabilmek
Eksik veri ve aykırı gözlemleri tespit edip modele hazır hale getirebilmek
Özellik mühendisliği ile yeni özellikler türetebilmek, kategorik değişkenleri encoding yöntemleriyle dönüştürebilmek
Modern ML algoritmalarını (Linear/Logistic Regression, Decision Trees, Random Forest, XGBoost, LightGBM, CatBoost) kurup optimize edebilmek
Optuna ile hiperparametre optimizasyonu yapabilmek; Grid Search ve Bayesian Optimization arasında seçim yapabilmek
Dengesiz veri setlerinde (SMOTE, class weights, threshold optimization) başarılı modeller geliştirebilmek
Model açıklanabilirliğini (SHAP, LIME, Permutation Importance) sağlayarak iş birimlerine aktarabilmek
Scikit-learn Pipeline ve ColumnTransformer ile end-to-end ML süreçleri tasarlayabilmek ve data leakage’ı önleyebilmek
Confusion matrix, ROC-AUC, PR-AUC, learning curves ile model performansını analiz edip yorumlayabilmek
Konular
Modül 1 - Makine Öğrenmesi Temelleri
Makine Öğrenmesi(ML) Giriş
Makine Öğrenmesi Nedir?
ML tanımı
Geleneksel programlamadan farkı
Gerçek dünya uygulamaları ve örnekler
ML'i ne zaman kullanmalı, ne zaman kullanmamalı
Makine Öğrenmesi Türleri
Supervised vs Unsupervised
Classification vs Regression
Training vs Prediction aşamaları
Temel ML Kavramları
Feature'lar ve target'lar
Altın kural: Test verisine final değerlendirmeden önce asla dokunma
Overfitting ve underfitting
Validation neden kritik öneme sahip
Metrik vs loss
Nasıl error fonksiyonu seçilir
ML Döngüsü
Veri Toplama → Ön İşleme→ Özellik Mühendisliği → Modelleme → Değerlendirme→ Canlıya Alma
ML projelerinin iteratif doğası
Yaygın yapılan hatalar ve bunlardan kaçınma yöntemleri
Modül 2 - Veriyi Bölme ve Ön İşleme
Veri Bölme
Üçlü Bölme
Training set
Validation set
Test set - kilitli tutulur
Sadece train/test split'in neden tehlikeli olduğu
Cross-Validation'a Giriş
K-fold cross-validation nedir
Doğru K değerini seçme
Hesaplama maliyeti dengesi
Bölmelerin görselleştirilmesi
Ne zaman kullanılmamalı
Gelişmiş Validation Stratejileri
TimeSeriesSplit
GroupKFold
StratifiedKFold
Iterative stratification ile StratifiedKFold
Nested Cross-Validation
Veri Ön İşleme Temelleri
Veri Mühendisliği Temelleri
Yeni feature'lar oluşturma
Alana özel oluşturulacak özellik analizi
Hali hazırdaki özelliklerin etkileşiminden yeni özellik oluşturma
Feature scaling ve normalization
Ön işleme neden önemli
Kategorik Değişkenleri İşleme
Label encoding
One-hot encoding
Target encoding temelleri
Gelişmiş encoding stratejileri
Hangi yöntem ne zaman kullanılmalı
Özellik Seçimi
İlgisiz feature'ları kaldırma
Korelasyon analizi
Feature importance temelleri
Veri Ön İşleme - Aykırı Gözlem
Aykırı Gözlemler(Outlier) Tespiti
İstatistiksel yöntemler: IQR, Z-score, Modified Z
ML tabanlı: Isolation Forest, Local Outlier Factor, DBSCAN
Alana özgü sınır değerleri
Multivariate outlier detection
Görsel analiz: box plot'lar, scatter plot'lar, QQ plot'lar
Aykırı Gözlemlerle Başa Çıkma - Silme
Ne zaman silinmeli: gerçek hatalar, veri girişi hataları
Yüzdelik eşik değer kuralları (örn: %5'ten fazlaysa sil)
Silmeden önce etki analizi
Aykırı Gözlemlerle Başa Çıkma - Capping/Winsorization
Yüzdeliklerde capping (örn: 1. ve 99. percentile)
Winsorization uygulaması
Data boyutunu korurken etkiyi azaltma
Aykırı Gözlemlerle Başa Çıkma - Transformation
Sağa çarpık data için log transformation
Square root, cube root transformation'ları
Optimal normallik için Box-Cox transformation
Outlier etkisini minimize etmek için RobustScaler
Aykırı Gözlemlerle Başa Çıkma - Binning
Sürekli değerlerden kategorik değere geçme
Equal-width vs equal-frequency binning
Alan bilgisine dayalı custom bin'ler
Aykırı Gözlemlerle Başa Çıkma - Diğer Yöntemler
Outlier'lar için ayrı model'ler kurma
Feature olarak outlier flagging
Ensemble yaklaşımı: normal + outlier model'leri
Eksik veri olarak kabul edip impute etme
Robust istatistik kullanma (median, trimmed mean)
Outlier'lar için model-based imputation
Farklı modellerin farklı outlier başa çıkma yöntemlerini gerektirmesi
Veri Ön İşleme - Eksik Veri
Eksik Veri İle Başa Çıkma
Eksik verileri silme ve bu yaklaşımın zararları ve uygulanabileceği zamanlar
Basit imputation stratejileri ve sınırları
İleri düzey imputation: IterativeImputer, KNNImputer, MICE
Ne zaman atılmalı, ne zaman impute edilmeli
Missingness indicator'ları oluşturma
Alana özel imputation stratejileri
Eksik veriyi özellik olarak ekleme
Modül 3 - ML Model Kurma
Pipeline Mantığı ve Baz Model
Pipeline Oluşturma
Scikit-learn Pipeline ve ColumnTransformer
Doğru pipeline tasarımı ile data leakage'ı önleme
Custom transformer'lar oluşturma
Pipeline persistence ve versioning
Baz Model Oluşturma
Baz model mantığı
Basit linear/logistic regression baseline
AutoGluon/FLAML ile AutoML baseline
Baseline sonuçlarını yorumlama
Model Kurma
Lineer Modeller
Sürekli sayısal tahminler için linear regresyon
Sınıflandırma için logistic regresyon
Genelleştirilmiş linear modeller
Ridge, Lasso yaklaşımları
Karar Ağaçları (Decision Trees)
Ağaçlar nasıl karar verir
Hyperparameters (max_depth, min_samples)
Overfitting'i önleme
Random Forests
Ensemble learning konsepti
Ormanlar neden tek ağaçlardan daha iyi
Random Forest'tan feature importance
Random Feature selection konsepti
Bagging yaklaşımı
OOB score ve kullanımları
Random Forest'ın ne zaman üstün olduğu
Model Kurma - Gradient Boosting Modelleri
XGBoost
Boosting konsepti açıklaması
Önemli parametreler
Regression ve classification modları
Uygulamalı model oluşturma
Boosting yaklaşımında GPU desteği kullanma
LightGBM
XGBoost yerine ne zaman kullanılmalı
Hız avantajları
Kategorik özellikleri işleme
CatBoost
Dahili kategorik encoding
Overfitting'i önleme
Model karşılaştırması
Başarı Metrikleri ve Loss Fonksiyonları
Sınıflandırma
Accuracy
Precision
Recall
F1
ROC-AUC
PR-AUC
Regresyon
MAE
RMSE
MAPE
R²
quantile loss
Model Çıktılarının İncelenmesi
Bias-variance analizi için learning curve'ler
Hiperparametre etkisi için validation curve'ler
Confusion matrix derinlemesine inceleme
Calibration plot'ları ve reliability diagram'ları
Erör analizi teknikleri
Hiperparametre Optimizasyonu
Optimizasyon Stratejileri
Grid search vs Random search vs Bayesian optimization
Optuna ile hiperparametre ayarlama
Multi-objective optimization
Daha hızlı optimizasyon için pruning stratejileri
Önce hangi hiperparametrelerden başlamak lazım?
Tablo Verilerinde Yapay Sinir Ağları(NN)
Kullanılan modeller
Tablo verileri için NN’ler ne zaman kullanmalı
PyTorch tabular model'leri
SOTA mimariler
Kategorik değişkenler için entity embedding'ler
Ağaç bazlı modellerle karşılaştırma
Dengesiz Veri Setleri(Imbalanced Data)
Dengesiz Veri İle Nasıl Başa Çıkılır
Class weight ayarlamaları
SMOTE ve varyantları (BorderlineSMOTE, ADASYN)
Threshold optimization
TomekLinks
Cost-sensitive learning
Dengesiz veriler için ensemble yöntemleri
Model Açıklanabilirliği
Araçlar
SHAP value'ları: global ve local açıklamalar
Local interpretability için LIME
Permutation importance
Partial dependence plot'ları
Individual conditional expectation plot'ları
Bizimle iletişime geçin