YouTube'da yayınlanan Makine Öğrenmesi Kursu'nun materyallerini içermektedir.
Video: https://youtu.be/iLACR5cNeuw
5 ana modül mevcuttur (küçük bilgisel materyalleri hariç):
-
Modül 1: Makine Öğrenmesine Giriş ve Proje Yaşam Döngüsü
- Neden Makine Öğrenmesi?
- Uçtan Uca ML Yaşam Döngüsü (CRISP-DM + MLOps)
- Başarı Metrikleri ve Kabul Kriterleri
- Veri Hazırlık Seviyeleri ve Veri Sözleşmeleri
- Doğrulama Stratejileri
- Baseline (Temel) Modeller
- Deney Kaydı ve Sürümleme
-
Modül 2: Python ML Ekosistemi
- NumPy, Pandas, Matplotlib ekosistemine pratik giriş:
- NumPy
- ndarray/dtype/shape/axis ve eksen mantığı
- Broadcasting (matris + vektör işlemleri), vektörizasyon vs. Python döngüleri performans karşılaştırması
- İndisleme: slice, boolean mask, fancy indexing
- Şekil dönüşümü ve view vs. copy (reshape/ravel, np.shares_memory)
- Rastgele sayı üretimi (np.random.default_rng) ve doğrusal cebir (np.linalg.solve)
- Pandas
- Series ve DataFrame temelleri; .loc vs .iloc ile seçim
- Atama ve tip yönetimi; kategorik tip (astype('category')), pd.cut ile binleme
- groupby/agg ile özetleme, pivot_table ile yeniden şekillendirme
- merge/join ile tabloları birleştirme
- Eksik değerleri yönetme (fillna, interpolate); bellek/tip optimizasyonu
- Zaman serileri: resample ve rolling; temel çizimler
- Büyük veriler: chunksize ile parçalı okuma (chunked I/O)
- Matplotlib
- Temel iş akışı: figure → plot/scatter → title/xlabel/ylabel → tight_layout → show
- Temel grafik: çizgi grafiği (line plot) ve benzerleri
- NumPy
- NumPy, Pandas, Matplotlib ekosistemine pratik giriş:
-
Modül 3: Ön İşleme ve Özellik Mühendisliği
- Model öncesi veri hazırlığına kapsamlı yaklaşım:
- Sentetik karma veri üretimi (sayısal + kategorik + tarih + kısa metin) ve hedef (
churn) tasarımı; kontrollü eksik değer serpiştirme - Keşifsel analiz (EDA)
- Dağılımlar:
usage_count,session_minutes,spendhistogramları - Eksik değer analizi: sütun bazında eksik sayıları grafiği
- Dağılımlar:
- Eksik değer imputasyonu
- Sayısal: SimpleImputer (median/mean), KNNImputer; strateji seçimi ve çarpıklık etkisi
- Kategorik: most_frequent ve constant (ör. "Bilinmiyor")
- Boyutsallık laneti uyarıları (KNN için)
- Aykırı değerler ve ölçekleme/dönüşüm
- IQR ve Z-skoru ile tespit; boxplot ile görselleştirme
- StandardScaler, RobustScaler, MinMaxScaler; log1p ile çarpıklığı giderme
- Kategorik kodlama (encoding)
- One-Hot (handle_unknown=ignore) ve yüksek kardinalite uyarıları
- Ordinal encoding kullanımı ve yanlış kullanım riskleri; pipeline içinde
get_dummieskullanmama notu
- Özellik türetme (feature engineering)
- Tarih: year/month/dow/is_weekend, döngüsel sin/cos temsil (ay/gün)
- Metin: karakter/kelime uzunluğu, negatif/pozitif anahtar kelime sinyalleri
- Özel sklearn dönüştürücüleri: DateFeatureExtractor, TextLengthExtractor
- Uçtan uca ML boru hattı (pipeline)
- ColumnTransformer ile sayısal/kategorik/tarih/metin akışları
- PolynomialFeatures + LogisticRegression; StratifiedKFold ile F1 çapraz doğrulama
- Artefakt yönetimi
- Tüm pipeline'ı
joblibile kaydetme/yükleme
- Tüm pipeline'ı
- Sentetik karma veri üretimi (sayısal + kategorik + tarih + kısa metin) ve hedef (
- Model öncesi veri hazırlığına kapsamlı yaklaşım:
-
Modül 4: Sigorta Verisi ile Ön İşleme ve Özellik Mühendisliği
- Gerçek sigorta talepleri verisiyle model öncesi derin EDA ve özellik mühendisliği (No-Model):
- Veri yükleme ve şema özeti
Insurance claims data.csvyükleme;claim_statushedefi- Sütun tipleri, missing%, n_unique; dtale ile ön-izleme
- String→sayısal özellik türetme (Regex)
max_power,max_torquemetinlerindenpower_bhp,power_rpm,torque_nm,torque_rpm- Etkileşim:
bhp_per_nm
- Tek değişkenli dağılımlar
- Sayısallar: histogram/kde (örn.
subscription_length,vehicle_age,customer_age,region_density) - Kategorikler: countplot (örn.
region_code,segment,model,fuel_type)
- Sayısallar: histogram/kde (örn.
- Hedef dağılımı ve dengesizlik
claim_statussınıf oranı (~%6.4 pozitif); doğruluk paradoksu- Doğru metrikler: Precision/Recall/F1/AUC;
class_weightve loss notları
- Kategorik × hedef
- Claim oranı bar grafikleri; Ki-kare testi (chi2) ve p-değeri yorumu
- Sayısal × hedef
- Violin plotlar; Mann–Whitney U testi ve yorumu
- Korelasyon ve çoklu doğrusal bağlantı
- Sayısal korelasyon ısı haritası; VIF hesaplama, yorum ve çözüm stratejileri (eleme/birleştirme/PCA/Ridge)
- Aykırı değer analizi
- IQR ve Z-score ile tespit; log1p, winsorizing, bırak/sil stratejileri
- Veri yükleme ve şema özeti
- Gerçek sigorta talepleri verisiyle model öncesi derin EDA ve özellik mühendisliği (No-Model):
-
Modül 5: Sigorta Verisi ile Modelleme
- Hazırlanan veri seti ile uçtan uca modelleme, eşik (threshold) optimizasyonu ve HPO (Optuna):
- Kurulum notu:
catboost,optuna(opsiyonel hızlandırma:scikit-learn-intelex). - Veri ve hedef:
Insurance claims data.csvyüklenir;policy_id(kimlik) atılır.- Hedef:
claim_statusikili sınıfa dönüştürülür (0/1).
- Özel özellik mühendisliği (Regex Transformer):
PowerTorqueRegexExtractorilemax_power/max_torquemetinlerinden sayısal alanlar türetilir:power_bhp,power_rpm,torque_nm,torque_rpm,bhp_per_nm.- Sklearn Pipeline içinde ilk adım olarak kullanılır (leakage’siz tekrar üretilebilirlik).
- Eğitim/Test ayrımı:
train_test_split(stratified, SEED=42). - Sütun tipleri ve dinamik seçim:
dataclass ColumnInfoile her sütun içindtypeven_uniqueözetlenir.- Gruplar:
numeric_cols,binary_cols,ohe_cols,ordinal_cols = ["ncap_rating", "airbags", "cylinder"]. - Hedef sütun gruplardan çıkarılır; özel FE sütunları (
max_power,max_torque) ayrı tutulur.
- Ön işleme hattı (ColumnTransformer):
- Sayısal:
SimpleImputer(median)+StandardScaler. - İkili/Ordinal:
SimpleImputer(most_frequent)+OrdinalEncoder(handle_unknown='use_encoded_value', unknown_value=-1). - Kategorik:
SimpleImputer(most_frequent)+OneHotEncoder(handle_unknown='infrequent_if_exist', max_categories=10, sparse_output=False). - Remainder=
passthrough; pipeline:PowerTorqueRegexExtractor→preprocessor.
- Sayısal:
- Temel modeller ve eşik optimizasyonu:
- Adaylar:
LogisticRegression,DecisionTreeClassifier,RandomForestClassifier. TunedThresholdClassifierCV(scoring='f1')ile her fold için en iyi karar eşiğini bul.StratifiedKFold(n_splits=5)ilecross_validate:f1,recall,roc_auc,thresholdmetriklerinin dağılımları ve kutu grafikleri.
- Adaylar:
- Test değerlendirmesi:
- Seçilen temel model için
classification_report,ROC-AUC/APveConfusionMatrixDisplayile raporlama.
- Seçilen temel model için
- Gradient Boosting + HPO (CatBoost + Optuna):
- Sabitler:
loss_function='Logloss',auto_class_weights='SqrtBalanced'(sınıf dengesizliği için), mümkünsetask_type='GPU'. cat_featuresotomatik çıkarılır (metin FE sütunları hariç);Pool+cvile AUC odaklı iç CV veearly_stopping.- En iyi parametrelerle
CatBoostmodeli,TunedThresholdClassifierCVile sarılır; eğitim seti tamamında en iyi eşik öğrenilir; testteF1(macro)veROC-AUCraporlanır.
- Sabitler:
- Eşik (threshold) stratejisi ve iş senaryoları:
- Eşik taraması (0.05–0.35) ile yüksek Recall, dengeli, yüksek Precision senaryoları; iş hedefine göre seçim rehberi.
- Karşılaştırma ve karar:
- Optimize Decision Tree vs. CatBoost karşılaştırması; CatBoost’un daha esnek ve stabil karar eğrileri nedeniyle tercih gerekçeleri.
- Artefaktlar:
- Tam pipeline’ı
joblibile kaydetme (best_model_pipeline.pkl) ve örnek tahmin demosu.
- Tam pipeline’ı
- Kurulum notu:
- Hazırlanan veri seti ile uçtan uca modelleme, eşik (threshold) optimizasyonu ve HPO (Optuna):