Başlangıç Düzeyi Yapay Zeka (AI) Eğitimi

Onaylı ve Sertifikalı Eğitimi

Program, hiç programlama bilgisi olmayanları dahi yapay zeka alanında yetkin hale getirmeyi amaçlayan C (temel) sınıfı içeriğidir. Python OOP, veri yapıları ve fonksiyonlarla başlayıp; NumPy'da vektörleştirme, Pandas'ta veri temizleme/gruplama, Matplotlib-Seaborn'da görselleştirme öğretilir. Keşifsel veri analizi projeleriyle pratiğe geçilir, ardından denetimli/denetimsiz öğrenme kavramları, feature engineering, regresyon ve sınıflandırma algoritmaları matematiksel temelleriyle sıfırdan kodlanır. Son modülde Bagging, Random Forest ve Boosting (AdaBoost, XGBoost, LightGBM) teknikleri işlenir. Başarılı kursiyerler "Yapay Zeka Uzmanı" unvanı ve uluslararası onaylı sertifika alır; erişim Telegram üzerinden sağlanır.

100 Başlangıç Canlı Ders / Sınıf Uluslararası Geçerli
Başlangıç Düzeyi Yapay Zeka (AI) Eğitimi
Örnek ders içeriği
PDF · örnek müfredat & ders notu

Eğitimin örnek bir bölümünü ve müfredat detayını PDF olarak incele — neye başladığını önceden gör.

Örnek PDF'i indir

Ne Öğreneceksiniz?

Eğitim Sonunda Kazanılacak Beceriler

  • Python ile sıfırdan program yazabilme
  • Veri yapılarını (list, dict, tuple, set) doğru senaryoda kullanabilme
  • Fonksiyon ve modül tabanlı, tekrar kullanılabilir kod yazabilme
  • Nesne yönelimli programlama ile kendi sınıflarını kurgulayabilme
  • pip ile paket yönetimi ve çalışma ortamı kurabilme
  • Ham veriyi CSV, Excel ve JSON dosyalarından okuyup yazabilme
  • Eksik, tekrarlı ve hatalı veriyi temizleyip analize hazır hale getirebilme
  • Aykırı değerleri tespit edip yönetebilme
  • Gruplama, pivot ve birleştirme işlemleriyle veriyi istenen forma dönüştürebilme
  • Zaman serisi verisini indeksleyip yeniden örnekleyebilme
  • NumPy ile vektörleştirilmiş, hızlı sayısal hesaplama yapabilme
  • Bir veri setini ilk kez gördüğünde keşifsel veri analizi (EDA) yapabilme
  • Değişkenler arası ilişkileri ve korelasyonları yorumlayabilme
  • Matplotlib ve Seaborn ile karar vericiye sunulabilir grafikler üretebilme
  • Histogram, kutu grafiği, ısı haritası gibi doğru grafik türünü seçebilme
  • Bir problemin sınıflandırma mı regresyon mu olduğuna karar verip doğru algoritmayı seçebilme
  • Lineer, polinomial ve logistic regresyon modelleri kurabilme
  • k-NN, karar ağaçları, SVM ve Naive Bayes algoritmalarını uygulayabilme
  • Random Forest, AdaBoost, XGBoost gibi ensemble yöntemlerini kullanabilme
  • Algoritmaların matematiksel mantığını anlayıp sıfırdan kodlayabilme
  • Veri ön işleme: ölçekleme, kategorik değişken kodlama, özellik seçimi yapabilme
  • Model başarısını MSE, RMSE, R² gibi metriklerle ölçüp yorumlayabilme
  • Overfitting ve underfitting teşhis edebilme, cross-validation ile önleyebilme
  • Hiperparametre optimizasyonu ile model performansını iyileştirebilme
  • Uçtan uca bir veri bilimi projesini tek başına yürütebilme
  • Kaggle yarışmalarına katılıp rekabet edebilecek çözümler üretebilme
  • Portföye koyulabilecek somut projeler tamamlayabilme (Titanic, ev fiyat tahmini, perakende satış analizi, kanser veri keşfi)
  • Mevcut işinde veri odaklı karar süreçlerine katkı sağlayabilme

Müfredat

10 modül · 30 bölüm · 129 konu · 100
Modül 1

Python Temelleri

Eğitimin giriş modülüdür ve tüm yapay zeka çalışmalarının üzerine kurulacağı programlama zeminini oluşturur. Katılımcı Python dilini sıfırdan öğrenir: söz dizimi, veriyi bellekte tutma biçimleri, akış kontrolü, kodu tekrar kullanılabilir parçalara bölme ve nesne yönelimli düşünme. Modül sonunda katılımcı, kütüphane kullanmaya geçmeden önce kendi başına çalışan program yazabilecek seviyeye gelir.

1.1 Temel Söz Dizimi ve Değişkenler

Python'un yazım kurallarının ve veriyi değişkenlerde tutma mantığının öğretildiği ilk adımdır. Girinti (indentation) tabanlı yapı, yorum satırları ve değişken isimlendirme kuralları burada oturur.

  • Python kurulumu ve IDE kullanımı

    Python yorumlayıcısının kurulumu, sürüm seçimi, sanal ortam (virtual environment) kavramı ve VS Code / PyCharm / Jupyter Notebook gibi geliştirme ortamlarının kullanımı. Kod yazma, çalıştırma, hata mesajlarını okuma ve hata ayıklama (debug) alışkanlığı kazandırılır.

  • Değişken türleri (int, float, string, boolean)

    Tam sayı, ondalıklı sayı, metin ve mantıksal doğru/yanlış tiplerinin ne olduğu, bellekte nasıl tutulduğu, tür dönüşümleri (int(), float(), str()) ve tip hatalarının nasıl oluştuğu. Dinamik tipleme kavramı ve type() ile tip denetimi.

  • İşleçler (aritmetik, karşılaştırma, mantıksal)

    Toplama, çıkarma, çarpma, bölme, tam bölme (//), mod (%) ve kuvvet (**) işleçleri; ==, !=, <, > karşılaştırma işleçleri; and, or, not mantıksal işleçleri. İşlem öncelik sırası ve karşılaştırmaların neden True/False döndürdüğü.

  • Giriş/Çıkış işlemleri

    input() ile kullanıcıdan veri alma, print() ile ekrana yazdırma, f-string ve format() ile biçimli çıktı üretme. Metin dosyalarını okuma/yazma (open, read, write, with bloğu) temel düzeyde ele alınır.

1.2 Veri Yapıları

Birden fazla veriyi tek bir yapıda toplamanın yollarını öğretir. Doğru veri yapısı seçimi hem kodun okunabilirliğini hem de çalışma hızını doğrudan etkiler; her yapının hangi problemde kullanıldığı karşılaştırmalı verilir.

  • Listeler (list): oluşturma, indeksleme, metotlar

    Sıralı ve değiştirilebilir koleksiyonlar. Eleman ekleme/çıkarma (append, insert, remove, pop), sıralama (sort, sorted), ters çevirme, dilimleme ([a:b:c]), negatif indeks kullanımı ve iç içe listeler (matris benzeri yapılar).

  • Demetler (tuple): değişmez veri yapıları

    Oluşturulduktan sonra değiştirilemeyen sıralı koleksiyonlar. Değişmezliğin (immutability) avantajı, tuple unpacking, fonksiyonlardan çoklu değer döndürme ve listeye göre bellek/performans farkı.

  • Sözlükler (dict): anahtar-değer çiftleri

    Veriye sıra numarasıyla değil anlamlı bir anahtarla erişme. Anahtar ekleme/güncelleme/silme, keys(), values(), items() ile dolaşma, get() ile güvenli erişim, iç içe sözlükler ve JSON verisiyle olan doğrudan benzerliği.

  • Kümeler (set): benzersiz elemanlar

    Tekrarsız eleman tutan sırasız yapılar. Yinelenen kayıtları temizleme, üyelik testinin neden çok hızlı olduğu, kesişim (&), birleşim (|) ve fark (-) gibi küme işlemleri.

1.3 Kontrol Yapıları

Programın akışını koşullara ve tekrarlara göre yönlendirme becerisidir. Veri temizleme, filtreleme ve algoritma yazımının tamamı bu yapıların üzerine kurulur.

  • if-elif-else koşul yapıları

    Koşula bağlı karar verme, çoklu koşul zincirleri, iç içe koşullar, and/or ile birleşik koşullar ve tek satırlık koşullu ifadeler (ternary). Kodun mantıksal doğruluğunu koşul sırasının nasıl etkilediği vurgulanır.

  • for ve while döngüleri

    Bir koleksiyonun elemanları üzerinde dolaşmak için for, bir koşul sağlandığı sürece tekrar için while. range(), enumerate(), zip() kullanımı, iç içe döngüler ve sonsuz döngü tuzakları.

  • break, continue, pass ifadeleri

    Döngüyü tamamen kesmek (break), o turu atlayıp devam etmek (continue) ve sözdizimsel olarak boş blok bırakmak (pass). Arama algoritmalarında ve hatalı kayıtların atlanmasında pratik kullanım örnekleri.

  • Liste anlama (list comprehensions)

    Döngü ve koşulu tek satıra sıkıştırarak yeni liste üretme tekniği. Klasik döngüye göre okunabilirlik ve hız avantajı; dict comprehension ve set comprehension varyasyonları. Veri ön işlemede en sık kullanılan Python kalıplarından biridir.

1.4 Fonksiyonlar ve Modüller

Kodu tekrar kullanılabilir, test edilebilir ve düzenli parçalara bölme aşamasıdır. Makine öğrenmesi projelerinde veri hazırlama, model eğitme ve değerlendirme adımlarının ayrı fonksiyonlara bölünmesi bu disiplinle mümkün olur.

  • Fonksiyon tanımlama ve çağırma

    def ile fonksiyon yazma, return ile değer döndürme, docstring yazımı, kapsam (scope) kavramı ve yerel/global değişken ayrımı.

  • Parametreler (konumsal, anahtar kelime, varsayılan)

    Sıraya göre gönderilen konumsal parametreler, isimle gönderilen anahtar kelime parametreleri, varsayılan değerli parametreler ve değişken sayıda argüman alma (*args, **kwargs). Kütüphane dokümantasyonunu okuyabilmek için kritik bir konudur.

  • Lambda fonksiyonları

    Tek satırlık isimsiz fonksiyonlar. map, filter, sorted ve Pandas'ın apply metoduyla birlikte kullanımı; ne zaman tercih edilmesi, ne zaman normal fonksiyon yazılması gerektiği.

  • Modül oluşturma ve içe aktarma işlemleri

    Kodu .py dosyalarına bölme, import, from ... import ..., takma ad verme (as) ve paket (klasör + __init__.py) yapısı. Proje dosya düzeninin nasıl kurulacağı gösterilir.

  • Paket yönetimi (pip)

    Dış kütüphane kurma, kaldırma, sürüm sabitleme, requirements.txt oluşturma ve sanal ortamlarla birlikte kullanma. NumPy, Pandas, Scikit-learn gibi kütüphanelerin ortama nasıl dahil edildiği öğrenilir.

1.5 Nesne Yönelimli Programlama

Veriyi ve o veri üzerinde çalışan davranışları tek yapıda birleştirme yaklaşımıdır. Scikit-learn dahil tüm makine öğrenmesi kütüphaneleri nesne yönelimli tasarlandığı için (model = LinearRegression(), model.fit()) bu modül kütüphane mantığını çözmenin anahtarıdır.

  • Sınıf ve nesne kavramları

    Sınıfın bir şablon, nesnenin ise o şablondan üretilmiş örnek olduğu fikri. class tanımı, nesne üretme, self parametresinin anlamı ve metot yazımı.

  • Yapıcı (init) metodu

    Nesne oluşturulurken otomatik çalışan __init__ metodu ile başlangıç değerlerinin atanması. Zorunlu ve varsayılan parametrelerle esnek nesne üretimi.

  • Örnek ve sınıf değişkenleri

    Her nesneye ait olan örnek değişkenleri ile tüm nesnelerin paylaştığı sınıf değişkenleri arasındaki fark; hangi durumda hangisinin kullanılacağı ve sık yapılan hatalar.

  • Kalıtım (inheritance)

    Bir sınıfın başka bir sınıfın özelliklerini devralması, metot ezme (override), super() kullanımı ve çok katmanlı kalıtım. Ortak davranışları tek yerde toplayarak kod tekrarını önleme.

  • Kapsülleme ve çok biçimlilik

    İç detayları dışarıdan gizleme (kapsülleme; _ ve __ yazım kuralları, getter/setter mantığı) ve aynı metot adının farklı sınıflarda farklı davranması (polymorphism). Scikit-learn'de her modelin aynı fit/predict arayüzünü sunması bu prensibin uygulamasıdır.

Modül 2

NumPy ile Sayısal Hesaplama

Python'un saf listeleriyle büyük sayısal hesaplar yapmak yavaş ve zahmetlidir. NumPy, çok boyutlu diziler (ndarray) ve C seviyesinde optimize edilmiş işlemlerle bu sorunu çözer; Pandas, Matplotlib ve Scikit-learn dahil tüm bilimsel Python ekosisteminin temelidir. Modül aynı zamanda makine öğrenmesi matematiğinin (vektör, matris, doğrusal cebir) koda dönüşme biçimini öğretir.

2.1 NumPy Temelleri

NumPy'ın merkezindeki dizi nesnesinin tanıtıldığı bölümdür. Dizilerin listelerden farkı, sabit veri tipi ve bitişik bellek düzeni sayesinde elde edilen hız avantajı üzerinden anlatılır.

  • array veri yapısı

    ndarray nesnesinin yapısı, tek/çok boyutlu diziler, Python listesiyle karşılaştırması, homojen veri tipi zorunluluğu ve hız farkının nedeni.

  • Dizi oluşturma yöntemleri

    Listeden dönüştürme (np.array), sıfır/bir dizileri (zeros, ones), aralık dizileri (arange, linspace), birim matris (eye), dolu diziler (full) ve mevcut dizinin şekliyle yeni dizi üretme (zeros_like vb.).

  • Boyut, şekil ve veri tipi yönetimi

    ndim, shape, size, dtype özellikleri; yeniden şekillendirme (reshape, ravel, flatten), boyut ekleme/çıkarma (newaxis, squeeze), tip dönüştürme (astype) ve bellek tasarrufu için doğru dtype seçimi.

  • İndeksleme ve dilimleme (slicing)

    Tek ve çok boyutlu indeksleme, satır/kolon seçimi, adım değerli dilimleme, fancy indexing (indeks dizisiyle seçim), boolean indeksleme ile koşula uyan elemanları çekme ve dilimin kopya mı görünüm (view) mü olduğu ayrımı.

2.2 Matematiksel İşlemler

Diziler üzerinde döngü yazmadan, tüm elemanlara aynı anda uygulanan hesaplamaların öğrenildiği bölümdür. Makine öğrenmesindeki formüllerin doğrudan koda çevrilmesi bu araçlarla yapılır.

  • Eleman bazlı işlemler

    İki dizinin karşılıklı elemanları arasında toplama/çıkarma/çarpma/bölme, skalerle işlem, evrensel fonksiyonlar (np.sqrt, np.exp, np.log, trigonometrik fonksiyonlar) ve karşılaştırma işleçlerinin dizi üzerinde çalışması.

  • Yayınlama (broadcasting) kavramı

    Farklı şekildeki dizilerin, NumPy'ın boyutları otomatik uyarlaması sayesinde birlikte işleme girmesi. Yayınlama kuralları, hangi şekillerin uyumlu olduğu, gereksiz bellek kopyalamadan işlem yapmanın mantığı ve sık görülen şekil uyuşmazlığı hataları.

  • Doğrusal cebir işlemleri

    Matris çarpımı (dot, @), transpoz, determinant, ters matris, öz değer/öz vektör hesabı ve doğrusal denklem sistemi çözümü (np.linalg). Lineer regresyonun normal denklemi ve boyut indirgeme yöntemleri bu işlemlere dayanır.

  • İstatistiksel fonksiyonlar

    Ortalama, medyan, standart sapma, varyans, minimum/maksimum, toplam, kümülatif toplam ve yüzdelikler; axis parametresiyle satır veya kolon bazında hesaplama.

  • Rastgele sayı üretimi

    np.random ile düzgün ve normal dağılımdan sayı üretme, rastgele tam sayılar, diziyi karıştırma, rastgele örnekleme ve tekrarlanabilirlik için tohum (seed) belirleme. Veri kümesini eğitim/test olarak bölmede ve simülasyonlarda kullanılır.

2.3 İleri NumPy Konuları

Temel kullanımın ötesinde, büyük veriyle çalışırken performans ve bellek verimliliği sağlayan tekniklerdir. Bu bölüm 'çalışan kod' ile 'hızlı çalışan kod' arasındaki farkı öğretir.

  • Maskeli diziler

    Eksik veya geçersiz elemanların hesaplamaya dahil edilmeden dizi içinde tutulması (numpy.ma). Boolean maskelerle koşullu değer atama (np.where) ve eksik veriyle çalışırken sonuçların bozulmasının önlenmesi.

  • Yapılandırılmış diziler

    Farklı veri tiplerini kolonlar hâlinde tek dizide tutan yapılar (structured/record arrays). Tablo benzeri veriyi NumPy seviyesinde temsil etme ve alan (field) bazlı erişim.

  • Bellek düzeni ve performans

    Satır öncelikli (C-order) ve kolon öncelikli (F-order) yerleşim, bitişik bellek (contiguity), görünüm ile kopya arasındaki fark, gereksiz kopyalamadan kaçınma ve büyük dizilerde bellek kullanımını ölçme.

  • Vektörleştirme teknikleri

    Python döngülerini dizi işlemleriyle değiştirerek hız kazanma. İndirgeme fonksiyonları, np.where ile koşullu vektörleştirme, apply_along_axis kullanımı ve döngülü kodla vektörleştirilmiş kodun çalışma süresi karşılaştırması.

Modül 3

Pandas ile Veri Manipülasyonu

Gerçek dünya verisi genellikle tablo biçimindedir: CSV dosyaları, Excel sayfaları, veritabanı çıktıları. Pandas bu veriyi okumak, temizlemek, dönüştürmek ve özetlemek için tasarlanmıştır ve veri bilimi projelerinde zamanın büyük kısmı bu aşamada geçer. Modül, ham ve dağınık bir veri setini modele verilebilecek düzenli bir tabloya çevirme becerisini kazandırır.

3.1 Pandas Temelleri

Pandas'ın iki temel nesnesi ve veriyi içeri/dışarı taşıma işlemleridir. Bir veri setiyle ilk karşılaşmada yapılacak keşif adımları da burada öğretilir.

  • Series ve DataFrame yapıları

    Tek boyutlu etiketli dizi (Series) ve iki boyutlu etiketli tablo (DataFrame). İndeks kavramı, kolon isimleri, sözlük/liste/NumPy dizisinden DataFrame üretme ve iki yapı arasındaki ilişki.

  • Veri okuma/yazma (CSV, Excel, JSON)

    read_csv, read_excel, read_json fonksiyonları ve ayraç, kodlama (encoding), başlık satırı, eksik değer işaretleri gibi parametreler. to_csv, to_excel, to_json ile dışa aktarma ve büyük dosyaları parça parça okuma.

  • Veri keşfi (info, describe, head, tail)

    head/tail ile ilk ve son kayıtlara bakma, info ile kolon tipleri ve dolu/boş sayıları, describe ile özet istatistikler, shape, columns, dtypes, value_counts ve nunique ile veriyi tanıma.

  • İndeksleme ve filtreleme

    loc (etiket bazlı) ve iloc (konum bazlı) erişim farkı, kolon ve satır seçimi, boolean maske ile koşullu filtreleme, çoklu koşul birleştirme, isin, between, query kullanımı ve SettingWithCopyWarning gibi tipik tuzaklar.

3.2 Veri Temizleme

Ham verideki eksik, hatalı, tekrarlı ve uç değerlerin tespit edilip düzeltilmesi aşamasıdır. Model başarısını en çok etkileyen adım genellikle burasıdır; 'kirli veriyle iyi model olmaz' ilkesi uygulamalı gösterilir.

  • Eksik veri (NaN) yönetimi

    Eksik değerleri saptama (isnull, notnull, isna().sum()), silme (dropna) ve doldurma (fillna) stratejileri: ortalama/medyan/mod ile doldurma, ileri-geri doldurma, interpolasyon. Eksikliğin rastgele olup olmadığının sonuçlara etkisi.

  • Tekrarlanan veri temizleme

    duplicated ile yinelenen kayıtları bulma, drop_duplicates ile belirli kolonlara göre teklileştirme, hangi kopyanın tutulacağına karar verme ve indeksin yeniden düzenlenmesi (reset_index).

  • Veri tipi dönüşümleri

    Yanlış tipte okunmuş kolonları düzeltme (astype), metin içindeki sayıları sayıya çevirme (to_numeric), tarihe çevirme (to_datetime), kategorik tipe geçirerek bellek kazanma ve dönüşüm hatalarını yönetme (errors parametresi).

  • Aykırı değer tespiti ve yönetimi

    Uç değerlerin istatistiksel yöntemlerle belirlenmesi (Z-skoru, çeyrekler arası açıklık/IQR kuralı) ve kutu grafiğiyle doğrulanması. Aykırı değeri silme, sınırlama (clipping/winsorization) veya dönüşüm uygulama seçenekleri ve her birinin modele etkisi.

3.3 Veri Dönüştürme

Temizlenmiş veriyi analiz veya modelleme için yeniden şekillendirme, özetleme ve birleştirme işlemleridir. Birden fazla kaynaktan gelen veriyi tek tabloda anlamlı hâle getirmek bu bölümün ana hedefidir.

  • Gruplama (groupby) işlemleri

    Veriyi bir veya birkaç kolona göre gruplayıp her grup için özet hesaplama (split-apply-combine mantığı). sum, mean, count, agg ile çoklu istatistik, transform ile grup bazlı normalize etme ve gruplu sonuçlarla yeni özellik üretme.

  • Pivot tablolar

    pivot ve pivot_table ile uzun formatlı veriyi geniş formata çevirme, satır/kolon/değer eksenlerini belirleme, çoklu toplama fonksiyonu kullanma; melt ile ters yönde dönüşüm ve stack/unstack işlemleri.

  • Birleştirme (merge, join, concat) işlemleri

    İki tabloyu ortak anahtar üzerinden birleştirme (merge) ve birleşim türleri (inner, left, right, outer); indeks üzerinden birleştirme (join); tabloları alt alta veya yan yana ekleme (concat). Anahtar uyuşmazlıklarının ve satır çoğalmasının kontrolü.

  • Apply ve map fonksiyonları

    apply ile satır/kolon bazında özel fonksiyon uygulama, map ile Series elemanlarını dönüştürme veya eşleme, applymap ile hücre bazlı işlem. Lambda ile birlikte kullanım ve vektörleştirilmiş alternatiflerin ne zaman daha hızlı olduğu.

  • Dize işlemleri

    .str erişimcisiyle metin kolonlarında büyük/küçük harf dönüşümü, boşluk kırpma, bölme (split), birleştirme, içerik arama (contains), değiştirme (replace) ve düzenli ifadelerle (regex) desen çıkarma. Kategorik metin verisini standartlaştırmada kullanılır.

3.4 Zaman Serisi Analizi

Tarih ve saat bilgisi taşıyan verinin özel yöntemlerle işlenmesidir. Satış, sensör, finans ve trafik verileri gibi zamana bağlı veri setlerinde sıralama, dönemleme ve trend çıkarma becerileri kazandırılır.

  • Tarih-saat veri tipleri

    datetime64 ve Timestamp nesneleri, metinden tarihe dönüşüm (to_datetime) ve biçim belirtme, zaman farkı (Timedelta), tarihten yıl/ay/gün/hafta günü/saat bileşenlerini çıkarma (.dt erişimcisi) ve zaman dilimi (timezone) kavramı.

  • Zaman serisi indeksleme

    Tarih kolonunu indeks yapma, tarih aralığıyla dilimleme, kısmi tarih dizesiyle erişim, date_range ile takvim üretme ve eksik tarihlerin tespiti.

  • Yeniden örnekleme ve hareketli pencereler

    resample ile veriyi günlükten haftalığa/aylığa toplama (downsampling) veya sıklığı artırma (upsampling); rolling ile hareketli ortalama/standart sapma, expanding ile kümülatif istatistikler ve shift ile gecikmeli (lag) değer üretme. Gürültü azaltma ve trend yakalama amaçlıdır.

  • Zaman serisi görselleştirme

    Zaman eksenli çizgi grafikleri, birden fazla serinin karşılaştırılması, hareketli ortalamanın ham veriyle üst üste çizilmesi, mevsimsellik ve trendin grafik üzerinden okunması, tarih eksenini biçimlendirme.

Modül 4

Matplotlib ile Veri Görselleştirme

Sayılarla ifade edilen bulguların grafiklerle anlaşılır hâle getirilmesini öğreten modüldür. Görselleştirme hem keşif aşamasında veriyi anlamak (dağılımlar, ilişkiler, anormallikler) hem de sonuçları başkalarına aktarmak için gereklidir. Matplotlib bu alandaki temel kütüphanedir; üzerine kurulu Seaborn ile istatistiksel grafikler de bu modülde ele alınır.

4.1 Matplotlib Temelleri

Grafik nesnelerinin yapısı ve en sık kullanılan grafik türlerinin çizimidir. Katılımcı burada bir grafiği sıfırdan kurup her parçasını kontrol etmeyi öğrenir.

  • Figure ve axes kavramları

    Grafiğin tuvali olan Figure ile çizimin yapıldığı koordinat sistemi Axes arasındaki ayrım. Nesne yönelimli arayüz ile pyplot arayüzü karşılaştırması, eksen sınırları, başlık, eksen etiketleri, ızgara ve gösterge (legend) ayarları.

  • Temel çizim türleri (çizgi, dağılım, çubuk)

    Zaman/sıra verisi için çizgi grafiği (plot), iki değişken arasındaki ilişki için dağılım grafiği (scatter), kategorilerin karşılaştırılması için çubuk grafiği (bar, barh). Her türün hangi soruya cevap verdiği ve yanlış grafik seçiminin yaratacağı yanılgılar.

  • Renk, stil ve işaretçi yönetimi

    Renk belirtme yöntemleri, çizgi tipleri, çizgi kalınlığı, işaretçi (marker) türleri, şeffaflık (alpha), renk haritaları (colormap), hazır stiller (style.use) ve okunabilir/erişilebilir renk seçimi.

  • Çoklu alt çizimler

    subplots ile aynı figürde birden fazla grafik yerleştirme, satır-kolon düzeni, eksenleri paylaştırma (sharex, sharey), GridSpec ile düzensiz yerleşimler, aralık ayarı (tight_layout) ve grafiği dosya olarak kaydetme (savefig).

4.2 İleri Görselleştirme

Dağılımları, çok değişkenli ilişkileri ve zaman içindeki değişimi göstermeye yarayan gelişmiş grafik türleridir.

  • Histogram ve kutu çizimi

    Histogram ile bir değişkenin dağılımını, çarpıklığını ve tepe noktalarını görme; kutu (box) grafiği ile medyan, çeyrekler, açıklık ve aykırı değerleri özetleme. Kutu sayısının (bins) dağılım yorumunu nasıl değiştirdiği ve violin grafiğiyle karşılaştırma.

  • Isı haritası ve kontur çizimi

    Matris biçimli veriyi renk yoğunluğuyla gösterme (imshow, pcolormesh) — özellikle korelasyon ve karışıklık matrisleri için. Kontur grafikleriyle iki değişkene bağlı bir yüzeyin seviye eğrilerini çizme (örneğin hata yüzeyi görselleştirmesi).

  • 3D görselleştirme

    mplot3d ile üç boyutlu dağılım, yüzey ve tel kafes (wireframe) grafikleri; bakış açısı ayarı. Optimizasyon yüzeyleri ve üç değişkenli ilişkilerin gösterimi, ayrıca 3D grafiğin ne zaman yanıltıcı olabileceği.

  • Animasyonlar

    FuncAnimation ile zaman içinde değişen verinin veya bir algoritmanın adım adım ilerleyişinin hareketli gösterilmesi (örneğin gradient descent'in minimuma yaklaşması), kare hızı ayarı ve GIF/video olarak kaydetme.

  • Etkileşimli grafikler

    Yakınlaştırma, kaydırma, imleçle değer okuma gibi etkileşimler; Jupyter içinde etkileşimli arka uç kullanımı ve widget'larla parametre değiştirerek grafiği canlı güncelleme. Sunum ve keşif amaçlı kullanımı.

4.3 Seaborn ile İstatistiksel Görselleştirme

Matplotlib üzerine kurulu, istatistiksel grafikleri az kodla ve estetik varsayılanlarla üreten kütüphane. Pandas DataFrame'leriyle doğrudan çalışması sayesinde keşifsel veri analizini hızlandırır.

  • Dağılım çizimleri

    histplot, kdeplot, displot, ecdfplot ile tek ve iki değişkenli dağılımlar; yoğunluk tahmini, gruba göre dağılım karşılaştırması ve rugplot ile gözlem yoğunluğu gösterimi.

  • Kategorik çizimler

    barplot, countplot, boxplot, violinplot, stripplot, swarmplot ile kategoriler arası karşılaştırma; hue parametresiyle ikinci bir kırılım ekleme ve güven aralıklarının nasıl hesaplandığı.

  • Regresyon çizimleri

    regplot ve lmplot ile dağılım grafiğine doğrusal/polinomial uyum çizgisi ekleme, güven bandı yorumu, residplot ile artık (residual) analizi. Modelleme öncesi ilişkinin doğrusal olup olmadığını sınamada kullanılır.

  • Matris çizimleri

    heatmap ile korelasyon matrisi görselleştirme ve açıklamalı (annotated) hücreler, clustermap ile hiyerarşik kümelenmeye göre yeniden sıralanmış matris, pairplot ile tüm değişken çiftlerinin ikili ilişki tablosu. Özellik seçiminde ve çoklu doğrusallık tespitinde işe yarar.

Modül 5

Veri Bilimi Projeleri

Önceki dört modülde öğrenilen Python, NumPy, Pandas ve görselleştirme becerilerinin gerçek veri setleri üzerinde birleştirildiği uygulama modülüdür. Amaç, bir veri setiyle karşılaşıldığında izlenecek sistemli yolu (soruyu tanımla, veriyi tanı, temizle, görselleştir, bulguları yaz) alışkanlık hâline getirmektir.

5.1 Keşifsel Veri Analizi (EDA)

Modelleme öncesinde verinin yapısını, kalitesini ve içindeki örüntüleri anlama sürecidir. EDA aşamasında alınan kararlar (hangi değişken kullanılacak, hangi kayıt temizlenecek) modelin başarısını doğrudan belirler.

  • Veri setini anlama

    Değişkenlerin ne anlama geldiği, ölçüm birimleri, sayısal/kategorik/tarih ayrımı, satır ve kolon sayısı, hedef değişkenin belirlenmesi, eksik ve tekrarlı kayıtların envanteri ile veri setinin toplandığı bağlamın sorgulanması.

  • Değişken ilişkileri

    Tek değişkenli (dağılım, merkez, yayılım), iki değişkenli (sayısal-sayısal, sayısal-kategorik, kategorik-kategorik) ve çok değişkenli inceleme; gruplara göre kırılımlar ve hedef değişkenle olan ilişkinin araştırılması.

  • Korelasyon analizi

    Pearson ve Spearman katsayıları, korelasyon matrisi ve ısı haritasıyla yorumlanması, güçlü/zayıf ilişki eşikleri, çoklu doğrusallık (multicollinearity) tespiti ve korelasyonun nedensellik anlamına gelmediği ilkesi.

  • Veri görselleştirme

    EDA bulgularının uygun grafiklerle desteklenmesi: dağılımlar için histogram/kutu, ilişkiler için dağılım grafiği, kategoriler için çubuk, çoklu ilişkiler için pairplot ve ısı haritası. Grafiklerin kısa yorum notlarıyla raporlanması.

5.2 Kaggle Projeleri (C Sınıfı)

Başlangıç (C) düzeyine uygun, dünyada yaygın kullanılan veri setleri üzerinde yapılan uygulama çalışmalarıdır. Bu projeler öğrenilenleri pekiştirir ve katılımcının portföyünde gösterebileceği somut çalışmalar oluşturur.

  • Titanic veri seti analizi

    Yolcu bilgileri (yaş, cinsiyet, bilet sınıfı, aile bilgisi vb.) ile hayatta kalma durumu arasındaki ilişkinin incelenmesi. Eksik yaş ve liman değerlerinin doldurulması, kategorik değişkenlerin gruplanması, gruplara göre hayatta kalma oranlarının hesaplanması ve görselleştirilmesi.

  • Ev fiyatları tahmini (sadece EDA)

    Konut özellikleriyle satış fiyatı arasındaki ilişkinin yalnızca keşifsel analiz düzeyinde incelenmesi. Çok sayıda kolonla çalışma, eksik veri haritası çıkarma, hedef değişkenin çarpık dağılımını inceleme, sayısal değişkenlerin fiyatla korelasyonunu sıralama ve aykırı değerleri tespit etme. Bu proje bilinçli olarak model kurma içermez.

  • Perakende satış analizi

    Satış işlem kayıtları üzerinde ürün, kategori, mağaza ve tarih kırılımlarında analiz. groupby ve pivot tablolarla ciro/adet özetleri, zaman serisi grafikleriyle mevsimsellik ve trend incelemesi, en çok satan ürünlerin belirlenmesi ve iş anlamı taşıyan çıkarımların yazılması.

  • Kanser veri keşfi

    Tümör ölçümlerinden oluşan tıbbi bir veri seti üzerinde iyi huylu/kötü huylu ayrımının hangi ölçümlerle ilişkili olduğunun keşfi. Sınıf dengesinin incelenmesi, iki sınıfın dağılımlarının karşılaştırılması, ölçekleri farklı değişkenlerin standartlaştırma ihtiyacının görülmesi ve yüksek korelasyonlu özelliklerin tespiti.

Modül 6

Makine Öğrenmesine Giriş

Veri analizinden makine öğrenmesine geçiş modülüdür. Önce kavramsal çerçeve kurulur (makine öğrenmesi nedir, hangi problem türleri vardır, bir modelin 'iyi' olduğu nasıl anlaşılır), ardından en anlaşılır iki algoritmayla ilk modeller eğitilir. Teori ağırlıklı olup 7-10. modüllerin zeminini hazırlar.

6.1 Makine Öğrenmesi Temel Kavramları

Alanın ortak dilinin öğretildiği bölümdür. Bu kavramlar netleşmeden algoritmalara geçmek, sonuçların yanlış yorumlanmasına yol açar.

  • Makine öğrenmesi nedir?

    Kuralları elle yazmak yerine örneklerden örüntü çıkaran yaklaşımın tanımı; klasik programlamayla farkı, yapay zeka-makine öğrenmesi-derin öğrenme ilişkisi, tipik iş akışı (veri, özellik, model, değerlendirme, uygulamaya alma) ve gerçek hayattan kullanım örnekleri.

  • Denetimli vs Denetimsiz öğrenme (Teori)

    Etiketli veriyle girdi-çıktı ilişkisi öğrenen denetimli öğrenme ile etiketsiz veride yapı arayan denetimsiz öğrenme arasındaki ayrım. Her birinin problem tipleri (sınıflandırma/regresyon; kümeleme/boyut indirgeme) ve hangi durumda hangisinin seçileceği.

  • Sınıflandırma vs Regresyon (Teori)

    Çıktının kategori olduğu (sınıflandırma) ve sürekli sayı olduğu (regresyon) problemlerin karşılaştırılması; ikili ve çok sınıflı problemler, her iki tipte kullanılan farklı başarı ölçütleri ve problemi yanlış tanımlamanın sonuçları.

  • Eğitim, doğrulama ve test kümeleri (Teori)

    Veriyi neden bölmek gerektiği; modelin öğrendiği eğitim kümesi, hiperparametre ayarı için doğrulama kümesi ve yalnızca son değerlendirmede kullanılan test kümesi. Veri sızıntısı (data leakage) tehlikesi ve bölme oranları.

  • Aşırı öğrenme (overfitting) ve az öğrenme (underfitting)

    Modelin eğitim verisini ezberleyip yeni veride başarısız olması ile veriyi yeterince öğrenememesi durumları. Belirtilerinin eğitim/test hatası karşılaştırmasıyla teşhisi, öğrenme eğrileri, genelleme kavramı ve model karmaşıklığıyla ilişkisi.

6.2 Basit Makine Öğrenmesi Algoritmaları

En sezgisel algoritmalarla ilk modellerin kurulduğu bölümdür. Amaç, karmaşık matematiğe girmeden önce 'model eğitme ve tahmin alma' döngüsünü uçtan uca deneyimlemektir.

  • Lineer Regresyon

    Tek bir bağımsız değişkenle sürekli bir çıktıyı doğru denklemiyle tahmin etme. Eğim ve kesişim katsayılarının yorumu, dağılım grafiği üzerine uyum doğrusunun çizilmesi, hata kavramına giriş ve fit/predict akışının ilk uygulaması.

  • Multiple Lineer Regresyon

    Birden fazla bağımsız değişkenle tahmin. Katsayıların birlikte yorumlanması, değişken ölçeklerinin katsayılara etkisi, gereksiz değişken eklemenin riskleri ve tek değişkenli modele göre başarı karşılaştırması.

  • Knn

    Yeni bir örneği, kendisine en benzeyen k komşusuna bakarak sınıflandıran veya tahmin eden algoritma. Benzerlik/uzaklık fikri, k değerinin sonuca etkisi, karar sınırının nasıl oluştuğu ve modelin 'eğitim yapmadan' nasıl çalıştığı. Konu 9.1'de matematiksel olarak derinleştirilir.

Modül 7

Makine Öğrenmesi Temelleri

6. modülde tanıtılan kavramların, uygulamada karar vermeyi sağlayacak düzeyde derinleştirildiği modüldür. İki ana eksen vardır: modelin genelleme başarısını doğru ölçmek (bias-variance, cross-validation) ve veriyi algoritmaya uygun biçime getirmek (ön işleme). Bu iki eksen sonraki tüm algoritma modüllerinde tekrar kullanılacak ortak altyapıdır.

7.1 Temel Kavramlar

Model başarısının güvenilir biçimde ölçülmesine odaklanan kavramlardır. Tek bir test skoruna güvenmenin neden yetersiz olduğu ve hatanın kaynaklarının nasıl ayrıştırılacağı öğretilir.

  • Supervised vs Unsupervised learning

    Denetimli ve denetimsiz öğrenmenin algoritma düzeyinde karşılaştırılması; etiketli veri elde etmenin maliyeti, yarı-denetimli yaklaşımların gerekçesi ve problemin hangi kategoriye girdiğini belirleme pratiği.

  • Training, validation, test sets

    Üç kümenin görevlerinin uygulamalı ayrıştırılması; train_test_split kullanımı, katmanlı (stratified) bölme ile sınıf oranlarının korunması, zaman serilerinde rastgele bölmenin neden yanlış olduğu ve ön işleme adımlarının yalnızca eğitim kümesine göre öğrenilmesi (fit vs transform ayrımı).

  • Overfitting ve underfitting

    Aşırı ve yetersiz öğrenmenin somut göstergeleri; öğrenme ve doğrulama eğrilerinin okunması, model karmaşıklığı-hata ilişkisi ve aşırı öğrenmeye karşı çözümler (daha fazla veri, özellik azaltma, düzenlileştirme, erken durdurma).

  • Bias-variance tradeoff

    Toplam hatanın yanlılık (bias), varyans ve giderilemeyen gürültü bileşenlerine ayrılması. Yüksek yanlılık ile yüksek varyansın belirtileri, aralarındaki ödünleşim ve bu çerçevenin model seçimini nasıl yönlendirdiği. Ensemble yöntemlerinin gerekçesi de buradan çıkar.

  • Cross-validation

    Veriyi k parçaya bölüp her parçayı sırayla doğrulama kümesi olarak kullanarak daha kararlı başarı tahmini elde etme (k-fold). Stratified k-fold, leave-one-out, tekrarlı CV ve zaman serisi için ileriye doğru CV; skorların ortalama ve standart sapmasıyla yorumlanması.

7.2 Veri Ön İşleme

Ham verinin algoritmaların beklediği biçime dönüştürülmesidir. Aynı veriyle aynı algoritmanın, ön işleme kalitesine göre çok farklı sonuçlar verebileceği uygulamalı gösterilir.

  • Feature scaling (normalization, standardization)

    Değişkenleri ortak ölçeğe getirme. Min-max normalizasyonu, standartlaştırma (ortalama 0, standart sapma 1) ve aykırı değerlere dayanıklı ölçekleme. Uzaklık tabanlı (k-NN, SVM) ve gradyan tabanlı algoritmalarda ölçeklemenin zorunluluğu; ağaç tabanlı modellerde neden gerekmediği.

  • Encoding (one-hot, label)

    Kategorik değişkenlerin sayısala çevrilmesi. Sıralı kategoriler için etiket/sıra kodlaması, sırasız kategoriler için one-hot kodlaması ve yapay sıralama yaratmanın hatası; yüksek kardinaliteli kolonlarda boyut patlaması ve kukla değişken tuzağı (dummy variable trap).

  • Feature selection

    Modele katkısı olmayan veya gürültü ekleyen değişkenlerin ayıklanması. Filtre yöntemleri (korelasyon, varyans eşiği, istatistiksel testler), sarmalayıcı yöntemler (ileri/geri seçim, RFE) ve gömülü yöntemler (düzenlileştirme, ağaç bazlı önem skorları).

  • Dimensionality reduction temel kavramlar

    Çok sayıda değişkenin bilgi kaybı en az olacak şekilde daha az boyuta indirilmesi. Boyut felaketinin (curse of dimensionality) nedeni, temel bileşenler analizi (PCA) fikri ve açıklanan varyans oranı, özellik seçimi ile boyut indirgeme arasındaki fark ve görselleştirme amaçlı kullanımı.

Modül 8

Supervised Learning - Regresyon

Denetimli öğrenmenin sürekli çıktı üreten kolunun matematiksel temelleriyle ele alındığı modüldür. Her algoritma önce matematiksel olarak türetilir, sonra sadece NumPy ile sıfırdan kodlanır, ardından Scikit-learn ile uygulanır ve sonuçlar karşılaştırılır. Düzenlileştirme ile aşırı öğrenmenin nasıl kontrol edildiği ve regresyon fikrinin sınıflandırmaya nasıl taşındığı gösterilir.

8.1 Lineer Regresyon

En temel regresyon modelinin uçtan uca incelenmesi. Bu bölümde öğrenilen kayıp fonksiyonu ve optimizasyon mantığı, sinir ağlarına kadar tüm modellerde tekrar karşımıza çıkar.

  • Matematiksel temeller (least squares)

    Modelin doğrusal denklemi, hata kareler toplamı (SSE/MSE) kayıp fonksiyonunun tanımı, katsayıların analitik çözümü (normal denklem) ve matris gösterimiyle türetilmesi. Modelin varsayımları (doğrusallık, hataların bağımsızlığı ve sabit varyansı) ve bu varsayımlar bozulduğunda ne olduğu.

  • Gradient descent algoritması

    Kayıp fonksiyonunun türevini kullanarak katsayıları adım adım güncelleyerek minimuma inme yöntemi. Öğrenme oranının çok büyük/küçük seçilmesinin etkileri, yakınsama kriteri, batch / stochastic / mini-batch varyantları ve öğrenme eğrisinin izlenmesi. Analitik çözüm varken neden gradient descent'e ihtiyaç duyulduğu.

  • Sıfırdan Python implementasyonu

    Formüllerin NumPy ile koda dökülmesi: tahmin fonksiyonu, kayıp hesabı, gradyanların yazılması, güncelleme döngüsü ve sonuçların doğrulanması. Vektörleştirilmiş yazımın döngülü yazıma göre hız avantajı ölçülür.

  • Sklearn ile uygulama

    LinearRegression sınıfıyla aynı problemin çözülmesi, fit/predict arayüzü, katsayı ve kesişim değerlerinin okunması, pipeline içinde ölçekleme ile birlikte kullanımı ve sıfırdan yazılan modelle sonuçların karşılaştırılması.

  • Model değerlendirme (MSE, RMSE, R²)

    Ortalama kare hata, kök ortalama kare hata, ortalama absolüt hata ve belirlilik katsayısı R²'nin tanımları, birimleri ve yorumları. Hangi metriğin hangi durumda tercih edileceği, R²'nin yanıltıcı olabildiği durumlar, düzeltilmiş R² ve artık (residual) grafikleriyle model teşhisi.

8.2 Polinomial Regresyon

Doğrusal olmayan ilişkilerin, doğrusal model altyapısı korunarak modellenmesi ve bunun getirdiği aşırı öğrenme riskinin düzenlileştirmeyle kontrolü. Bias-variance ödünleşiminin en somut gözlendiği bölümdür.

  • Polinomial özellik dönüşümü

    Mevcut değişkenlerin kare, küp ve çarpım terimlerinin (etkileşim terimleri) yeni özellik olarak eklenmesi; PolynomialFeatures kullanımı. Derece arttıkça uyumun iyileşmesi ama genellemenin bozulması ve doğru derecenin doğrulama ile seçilmesi.

  • Regularization (Ridge, Lasso, Elastic Net)

    Kayıp fonksiyonuna katsayı büyüklüğü cezası ekleyerek modeli sadeleştirme. Ridge'in katsayıları küçültmesi, Lasso'nun bazı katsayıları tam sıfıra indirerek otomatik özellik seçimi yapması, Elastic Net'in ikisini birleştirmesi ve ceza katsayısının (alpha/lambda) doğrulamayla ayarlanması.

  • L1 ve L2 regularization matematiksel altyapı

    L1 (absolüt değerler toplamı) ve L2 (kareler toplamı) cezalarının matematiksel tanımları, kısıt bölgelerinin geometrisi ve L1'in neden seyrek (sparse) çözüm ürettiğinin görsel/analitik açıklaması; türevlenebilirlik farkı ve optimizasyona etkisi.

  • Sıfırdan implementasyon

    Polinomial özellik üretiminin ve ceza terimli gradyan güncellemelerinin NumPy ile yazılması; farklı derece ve farklı ceza katsayılarıyla eğitim/doğrulama hatalarının grafiğe dökülmesi ve düzenlileştirmenin etkisinin doğrudan gözlenmesi.

8.3 Logistic Regresyon

Adında 'regresyon' olmasına karşın sınıflandırma yapan, olasılık üreten temel modeldir. Doğrusal modelden sınıflandırmaya geçişin köprüsü olduğu için ayrıntılı ele alınır ve sinir ağlarının tek nöronlu hâli olarak da yorumlanır.

  • Sigmoid fonksiyonu matematiksel analizi

    Doğrusal çıktıyı 0-1 aralığında olasılığa çeviren sigmoid (lojistik) fonksiyonun tanımı, grafiği, türevi ve doyma (saturation) davranışı. Olasılıktan sınıfa geçişte eşik (threshold) seçimi, karar sınırının neden doğrusal olduğu ve log-odds yorumu.

  • Maximum likelihood estimation

    Katsayıların, gözlenen veriyi en olası kılacak şekilde seçilmesi ilkesi. Olabilirlik fonksiyonunun kurulması, log-olabilirliğe geçiş ve bunun negatifi olan çapraz entropi (log-loss) kayıp fonksiyonunun türetilmesi; neden MSE yerine bu kaybın kullanıldığı.

  • Gradient descent for logistic regression

    Log-loss'un katsayılara göre gradyanının çıkarılması, güncelleme kuralının lineer regresyonla benzerliği, öğrenme oranı seçimi, yakınsama kontrolü ve L1/L2 düzenlileştirmenin bu kayba eklenmesi.

  • Sıfırdan implementasyon

    Sigmoid, log-loss, gradyan ve güncelleme döngüsünün NumPy ile yazılması; sayısal kararlılık önlemleri (log(0) taşmasının engellenmesi), karar sınırının çizdirilmesi ve LogisticRegression sonuçlarıyla karşılaştırma.

  • Multi-class classification

    İkiden fazla sınıfa genişletme yöntemleri: bire-karşı-hepsi (One-vs-Rest), bire-karşı-bir (One-vs-One) ve softmax (multinomial) yaklaşımı. Sınıf olasılıklarının toplamının 1 olması, çok sınıflı karışıklık matrisi ve makro/mikro ortalamalı metriklerle değerlendirme.

Modül 9

Supervised Learning - Sınıflandırma

Kategori tahmini yapan başlıca algoritmaların, birbirinden farklı dört yaklaşım üzerinden incelendiği modüldür: örnek tabanlı (k-NN), ağaç tabanlı (Decision Trees), marj tabanlı (SVM) ve olasılık tabanlı (Naive Bayes). Her algoritmada matematiksel temel, sıfırdan kodlama, kütüphane uygulaması ve karşılaştırmalı değerlendirme izlenir.

9.1 k-Nearest Neighbors (k-NN)

Eğitim aşamasında model kurmayıp tahmin anında en benzer örneklere bakan tembel (lazy) öğrenme algoritması. Basitliği sayesinde benzerlik, karar sınırı ve model karmaşıklığı kavramlarını somutlaştırmak için idealdir.

  • Distance metrikleri

    Öklid, Manhattan, Minkowski, kosinüs benzerliği ve kategorik veriler için Hamming uzaklığı. Metrik seçiminin karar sınırını nasıl değiştirdiği ve ölçekleme yapılmadığında büyük ölçekli değişkenlerin uzaklığı domine etmesi.

  • Optimal k seçimi

    k'nın küçük olduğunda modelin gürültüye duyarlı (yüksek varyans), büyük olduğunda aşırı basit (yüksek yanlılık) hâle gelmesi. Cross-validation ile k taraması, hata-k grafiği, ikili sınıflandırmada eşitliği önlemek için tek sayı seçimi ve uzaklığa göre ağırlıklı oylama.

  • Curse of dimensionality

    Boyut sayısı arttıkça noktalar arası uzaklıkların birbirine yakınsaması ve 'en yakın komşu' fikrinin anlamını yitirmesi. Bu etkinin k-NN başarısına yansıması, çözüm olarak özellik seçimi/boyut indirgeme ve boyut arttıkça gereken veri miktarının üstel büyümesi.

  • Sıfırdan implementasyon

    Uzaklık matrisinin vektörleştirilmiş biçimde hesaplanması, en yakın k komşunun bulunması (argsort/argpartition), çoğunluk oylaması ile sınıf ataması ve regresyon için komşu ortalaması. Hesaplama maliyetinin veri boyutuyla artışı ve KD-tree/Ball-tree gibi hızlandırma yapılarının mantığı.

9.2 Decision Trees

Veriyi ardışık 'eğer-ise' sorularıyla bölerek karar veren, sonucu insan tarafından okunabilir olan algoritma. Yorumlanabilirliği yüksektir ve 10. modüldeki ensemble yöntemlerinin yapı taşıdır.

  • Information gain ve entropy

    Entropinin bir kümedeki belirsizliğin ölçüsü olarak tanımı, hesaplanması ve bölünme sonrası elde edilen bilgi kazancı. Hangi değişken ve hangi eşikten bölmenin en çok belirsizlik azalttığının seçilmesi; kazanç oranı (gain ratio) ile çok değerli değişkenlerin yarattığı önyargının düzeltilmesi.

  • Gini impurity

    Bir kümeden rastgele seçilen örneğin yanlış sınıflandırılma olasılığı olarak Gini safsızlığı; hesaplanması, entropi ile karşılaştırması, hesaplama maliyeti farkı ve pratikte benzer ağaçlar üretmesi. Regresyon ağaçlarında bölme ölçütü olarak varyans azaltımı.

  • Tree construction algoritması

    Kök düğümden başlayarak özyinelemeli (recursive) bölme süreci, aday eşiklerin belirlenmesi, durdurma koşulları (maksimum derinlik, minimum örnek sayısı, minimum safsızlık azalması), yaprak düğümde sınıf/değer ataması, kategorik ve sürekli değişkenlerin ele alınışı. Açgözlü (greedy) yaklaşımın neden global optimumu garanti etmediği.

  • Pruning teknikleri

    Aşırı büyümüş ağacın aşırı öğrenmesini engelleme. Ön budama (ağaç büyürken sınır koyma) ve sonradan budama (tam büyütüp gereksiz dalları kesme), maliyet-karmaşıklık budaması (ccp_alpha) ve budamanın doğrulama verisiyle ayarlanması.

  • Sıfırdan implementasyon

    Safsızlık fonksiyonlarının yazılması, en iyi bölünmenin taranması, düğüm sınıfı ve özyinelemeli ağaç kurulumu, tahmin için ağaçta dolaşma ve ağacın metin/görsel olarak yazdırılması. Kendi yazdığı ağacın DecisionTreeClassifier ile karşılaştırılması.

9.3 Support Vector Machines (SVM)

Sınıfları birbirinden en geniş boşlukla ayıran sınırı arayan, matematiksel olarak en zengin klasik algoritmalardan biri. Az veriyle ve yüksek boyutta güçlü sonuç verebilmesi ve kernel fikriyle doğrusal olmayan problemleri çözmesi nedeniyle ayrıntılı incelenir.

  • Hyperplane ve support vectors

    Ayırıcı düzlemin tanımı, marj (margin) kavramı ve marjı maksimize etmenin genellemeye katkısı. Sınıra en yakın olup sınırı belirleyen destek vektörleri, diğer örneklerin sonucu etkilemiyor olması ve marj maksimizasyonunun optimizasyon problemi olarak yazılması.

  • Kernel trick matematiksel altyapı

    Veriyi yüksek boyutlu bir uzaya açıkça taşımadan, yalnızca iç çarpımları hesaplayarak doğrusal olmayan ayrım yapma. Polinomial, RBF (Gauss) ve sigmoid çekirdekleri, çekirdek parametrelerinin (gamma, derece) karar sınırına etkisi ve geçerli bir çekirdeğin sağlaması gereken koşullar.

  • Soft margin SVM

    Verinin tam ayrılamadığı gerçek durumlar için bazı hatalara izin veren esnek marj. Gevşeklik (slack) değişkenleri, ceza parametresi C'nin marj genişliği ile hata toleransı arasındaki ödünleşimi yönetmesi ve C ile gamma'nın birlikte ayarlanması (grid search).

  • Dual formulation

    Birincil (primal) problemin Lagrange çarpanlarıyla ikili (dual) forma dönüştürülmesi, KKT koşulları ve dual formun neden çekirdek kullanımına imkân verdiği. Destek vektörlerinin sıfır olmayan çarpanlara karşılık gelmesi ve çözümün seyrekliği.

  • Sıfırdan implementasyon (basit versiyon)

    Öğretici amaçlı sadeleştirilmiş bir SVM'in kodlanması: menteşe (hinge) kaybı ve düzenlileştirme terimiyle gradyan tabanlı çözüm veya basitleştirilmiş SMO yaklaşımı. Karar sınırının ve marj çizgilerinin görselleştirilmesi, SVC sonuçlarıyla karşılaştırma ve ölçeklemenin SVM'de neden zorunlu olduğunun gösterilmesi.

9.4 Naive Bayes

Olasılık teorisine dayanan, hızlı ve az veriyle bile şaşırtıcı derecede başarılı olabilen sınıflandırıcı. Özellikle metin sınıflandırma (spam filtresi, duygu analizi) gibi yüksek boyutlu problemlerde referans model olarak kullanılır.

  • Bayes theorem

    Koşullu olasılık, önsel (prior) ve sonsal (posterior) olasılık ilişkisi ve teoremin sınıflandırmaya uyarlanması. 'Naive' (saf) varsayımın ne olduğu (özelliklerin sınıf verildiğinde bağımsız kabul edilmesi), bu varsayımın gerçekçi olmamasına rağmen neden işe yaradığı ve MAP karar kuralı.

  • Gaussian, Multinomial, Bernoulli NB

    Sürekli özellikler için normal dağılım varsayan Gaussian NB; sayım/frekans verileri (örneğin kelime sayıları) için Multinomial NB; ikili var/yok özellikleri için Bernoulli NB. Her varyantın olabilirlik hesabı, hangi veri tipinde hangisinin seçileceği ve metin verisinde temsil biçimiyle (bag-of-words, TF-IDF) ilişkisi.

  • Laplace smoothing

    Eğitim verisinde hiç görülmemiş bir değerin olasılığı sıfır olduğunda tüm çarpımın sıfırlanması sorunu ve buna karşı sayımlara sabit ekleme (Laplace/additive düzeltme). Düzeltme parametresinin etkisi ve olasılıkların log uzayında toplanarak sayısal taşmanın önlenmesi.

  • Sıfırdan implementasyon

    Sınıf önsellerinin ve koşullu olasılıkların eğitim verisinden hesaplanması, log-olasılıkların toplanmasıyla tahmin üretilmesi, düzeltmenin koda eklenmesi ve metin sınıflandırma örneğinde uygulanması. Scikit-learn karşılıklarıyla sonuç ve hız karşılaştırması.

Modül 10

Ensemble Methods

Tek bir modelin yerine çok sayıda modelin birlikte karar vermesi fikrine dayanan yöntemler. Zayıf öğrenicilerin doğru şekilde birleştirilmesiyle tek başına elde edilemeyen başarıya ulaşılır; tablo verisiyle yapılan yarışmalarda en güçlü sonuçları veren yöntem sınıfıdır. Modül, bias-variance çerçevesini pratiğe döker: bagging varyansı, boosting yanlılığı azaltır.

10.1 Bagging ve Random Forest

Birbirinden bağımsız olarak eğitilen çok sayıda modelin oylama veya ortalama ile birleştirilmesi (bagging) ve bunun karar ağaçlarına uygulanmış en yaygın hâli olan Random Forest. Aşırı öğrenmeye yatkın derin ağaçların birlikte kararlı hâle gelmesi gösterilir.

  • Bootstrap sampling

    Eğitim verisinden yerine koyarak rastgele örnekleme ile birbirinden farklı alt kümeler üretme. Her alt kümeye ayrı model eğitilmesi, örneklenmeyen (out-of-bag) gözlemlerin doğrulama için kullanılabilmesi ve modeller arası çeşitliliğin varyansı nasıl düşürdüğü.

  • Random subspace method

    Her bölünmede tüm özellikler yerine rastgele seçilmiş bir özellik alt kümesinin değerlendirilmesi. Ağaçlar arasındaki korelasyonun kırılması, seçilecek özellik sayısı parametresinin etkisi ve bunun Random Forest'ı basit bagging'den ayıran unsur olması.

  • Feature importance

    Değişkenlerin modele katkısının ölçülmesi: safsızlık azalması temelli önem skorları ve permütasyon önemi. Skorların yorumlanması, yüksek kardinaliteli değişkenlere doğru yanlılık, korelasyonlu değişkenlerde önemin bölünmesi ve önem sıralamasının özellik seçiminde kullanımı.

  • Sıfırdan Random Forest implementasyonu

    9.2'de yazılan karar ağacının üzerine bootstrap örnekleme ve rastgele özellik seçimi eklenerek orman kurulması; sınıflandırmada çoğunluk oylaması, regresyonda ortalama ile birleştirme, out-of-bag hata hesabı ve ağaç sayısı arttıkça hatanın nasıl kararlı hâle geldiğinin gözlenmesi. RandomForestClassifier ile karşılaştırma.

10.2 Boosting

Modellerin paralel değil sıralı eğitildiği, her yeni modelin önceki modellerin hatalarına odaklandığı yaklaşım. Bagging'den farkı, gerekçesi ve modern gradient boosting kütüphanelerinin pratik kullanımı ele alınır.

  • AdaBoost algoritması ve matematik

    Yanlış sınıflandırılan örneklerin ağırlığının her turda artırılması, her zayıf öğrenicinin başarısına göre bir ağırlık (alpha) almasının türetilmesi, üstel kayıp fonksiyonuyla ilişkisi ve nihai kararın ağırlıklı oylama ile verilmesi. Zayıf öğrenici olarak karar kütüğü (decision stump) kullanımı ve gürültülü/aykırı veriye duyarlılığı.

  • Gradient Boosting matematiksel temeller

    Boosting'in, kayıp fonksiyonunu fonksiyon uzayında gradyan inişiyle minimize etme olarak formüle edilmesi. Her adımda artıklara (negatif gradyan) bir ağaç uydurulması, öğrenme oranı (shrinkage) ile ağaç sayısı arasındaki ödünleşim, ağaç derinliğinin etkisi, alt örnekleme (subsampling) ve erken durdurma ile aşırı öğrenmenin kontrolü.

  • XGBoost, LightGBM, CatBoost kullanımı

    Üç modern gradient boosting kütüphanesinin ayırt edici yönleri: XGBoost'un düzenlileştirilmiş hedef fonksiyonu ve ikinci dereceden yaklaşımı, LightGBM'in histogram tabanlı ve yaprak odaklı büyüme ile sağladığı hız, CatBoost'un kategorik değişkenleri doğrudan işleyebilmesi. Temel hiperparametreler, erken durdurma, hiperparametre araması (grid/random search) ve model karşılaştırmalarının cross-validation ile yapılması.

Eğitmenler

Erdem Taha Sokullu
Erdem Taha Sokullu
Yapay Zeka Mühendisi

Cevahir Holding / Aytunga Savunma Sanayi bünyesinde Yapay Zeka Birimi Takım Lideri olarak, savunma sanayiine yönelik ileri teknoloji çözümlerinin geliştirilmesi ve uygulanması süreçlerini yönetmektedir. Bu kapsamda, teknik ekipleri koordine ederek projelerin planlanmasından hayata geçirilmesine kadar tüm aşamalarda akt...

Ayar Damgası

Uluslararası geçerli, doğrulanabilir sertifika

Eğitim sonunda yapılan online sınavda başarılı olan katılımcılar, uluslararası geçerliliğe sahip onaylı sertifika almaya hak kazanır.

Onaylı sertifikasını alan mezun
Onaylı
Sertifika
Toplam mezun
Uygulama saati
Uluslararası
Onaylı sertifika

Benzer Eğitimler

Sık sorulan sorular

Bu eğitim için önceden programlama bilmem gerekiyor mu?

Hayır. Eğitim, Python programlama dilinin temellerinden (kurulum, değişkenler, döngüler, fonksiyonlar) başlıyor. Müfredatın ilk modülü tamamen sıfırdan Python öğretimine ayrılmış durumda, dolayısıyla hiç kod yazmamış katılımcılar da programı takip edebilir.

Eğitim ne kadar sürüyor ve toplam içerik saati nedir?

Program 4 ay sürmekte olup toplam 100 saat eğitim içeriği barındırıyor. Eğitim uzaktan verildiği için içerikleri kendi programınıza göre ilerletebilirsiniz.

Ders videolarına erişimim eğitim bittikten sonra da devam eder mi?

Evet. Videolara erişim ömür boyu geçerli. Ayrıca eğitim içeriği güncellendiğinde bu güncellemelere de ömür boyu erişebiliyorsunuz.

Eğitim sonunda sertifika veriliyor mu?

Eğitimi tamamlayıp yapılacak değerlendirmelerden başarılı olan kursiyerler "Yapay Zeka Uzmanı" unvanı almaya hak kazanıyor ve uluslararası onaylı sertifika alıyor.

Sınav nasıl yapılıyor?

Sınav online olarak gerçekleştiriliyor; sınava girmek için bir merkeze gitmeniz gerekmiyor.

Eğitmene soru sorabilir miyim?

Evet. Eğitmen Erdem Taha Sokullu ile iletişim Telegram üzerinden sağlanıyor. Ayrıca tüm eğitimlerde video, görsel ve sesli içeriklerin yanı sıra canlı destek ve derse ait belgelerin temini de sunuluyor.

Bu eğitim kimler için uygun?

Yaş ve meslek sınırı yok. Programlamaya ilgi duyan, teknoloji alanında kariyer yapmak isteyen, mevcut işinde yapay zeka araçlarını kullanmayı hedefleyen veya akademik çalışma planlayan herkes katılabiliyor.

"Başlangıç düzeyi" ne anlama geliyor, sonrasında devamı var mı?

Eğitim programı başlangıç ve ileri sınıfları olarak kurgulanmış. Bu paket başlangıç seviyesini kapsıyor; Python, NumPy, Pandas, Matplotlib/Seaborn, keşifsel veri analizi ve temel makine öğrenmesi algoritmaları (lineer regresyon, k-NN, karar ağaçları, SVM, Naive Bayes, ensemble yöntemleri) işleniyor.

Matematik altyapım zayıf, zorlanır mıyım?

Program algoritmaları hem hazır kütüphanelerle hem de matematiksel temellerini açıklayarak sıfırdan kodlama üzerinden anlatıyor (örneğin gradient descent, entropy, Bayes teoremi). Konular adım adım ilerlediği için lise düzeyi matematik bilgisiyle başlanabilir; ancak ilerleyen modüllerde türev ve doğrusal cebir kavramlarına aşinalık işinizi kolaylaştırır.

Eğitim sırasında gerçek proje yapıyor muyuz?

Evet. Müfredatta Kaggle projeleri yer alıyor: Titanic veri seti analizi, ev fiyatları tahmini (EDA), perakende satış analizi ve kanser veri keşifi gibi çalışmalar bulunuyor. Amaç, Kaggle yarışmalarında rekabet edebilecek seviyede proje üretebilmek.

Uluslararası Geçerli · 100
Hemen Kayıt Ol

Hemen Katıl

Altın bir kariyere
bugün başla.

Kariyerine bugün başla.
WhatsApp Instagram Facebook