Feature Engineering: Veriden Değer Üretme Sanatı ve Teknik Mimarisi
1. GİRİŞ: MODELİN RUHU ÖZELLİK MÜHENDİSLİĞİNDE GİZLİDİR
Yapay zeka ve makine öğrenmesi dünyasında sıkça duyduğumuz bir motto vardır: "Çöp girerse, çöp çıkar" (Garbage In, Garbage Out). Bugün, en sofistike Transformer modellerinden en basit lojistik regresyonlara kadar tüm algoritmaların başarısı, aslında algoritmanın kendisinden çok, ona beslediğimiz verinin "kalitesine" ve "temsil gücüne" bağlıdır. İşte burada Feature Engineering (Özellik Mühendisliği) devreye girer.
Klasik yazılım mühendisliğinde kod, mantığı temsil eder; veri ise bu mantığın üzerinde çalıştığı pasif bir bileşendir. Makine öğrenmesinde ise roller değişir: Veri, mantığın ta kendisidir. Feature Engineering, ham ve genellikle gürültülü olan veriyi, bir algoritmanın içindeki matematiksel fonksiyonların anlayabileceği, desenleri (patterns) daha kolay yakalayabileceği "anlamlı sinyallere" dönüştürme sürecidir. Nobel ödüllü ekonomistlerin veya dünya çapındaki veri bilimcilerin ortak görüşü; model seçmekten çok daha kritik olan adımın, doğru özellikleri türetmek olduğudur.
Bu Teknoloji Neden Konuşuluyor?
Günümüzde ham veri her yerde. Ancak bu veriyi bir iş değerine dönüştürmek, onu doğru bağlamda sunmayı gerektiriyor. Özellikle 2026 yılına doğru ilerlerken, "Feature Stores" (Özellik Depoları) ve "Automated Feature Engineering" (AFE) gibi kavramlar, veri mühendisliği ve MLOps'un merkezine yerleşti. Verinin artık sadece depolanması değil, modeller için "hazır paket" haline getirilmesi devasa bir operasyonel verimlilik sağlıyor.
Kimler İçin Önemli?
Bu makale; veriyi modeller için hazırlayan Veri Mühendisleri, modellerin performansını maksimize etmek isteyen Veri Bilimciler ve uçtan uca AI sistemleri tasarlayan MLOps Mühendisleri için teknik bir başucu kaynağı niteliğindedir.
Hangi Problemleri Çözüyor?
- Model Doğruluğunu (Accuracy) Artırır: Algoritmanın ham veride göremediği gizli ilişkileri görünür kılar.
- Eğitim Süresini Kısaltır: Gereksiz (gürültülü) özellikleri ayıklayarak işlem yükünü azaltır.
- Overfitting (Aşırı Öğrenme) Riskini Azaltır: Verideki gürültüyü temizleyerek modelin genellenebilir olmasını sağlar.
- Domain Bilgisini Sisteme Aktarır: İnsan tecrübesini matematiksel özelliklere dönüştürerek modelin "akıllıca" tahmin yapmasını sağlar.
2. KAVRAMSAL TEMELLER: ÖZELLİĞİN ANATOMİSİ
Özellik mühendisliği, sihirli bir kutu değil, disiplinli bir veri işleme sürecidir.
2.1 Temel Tanımlar
- Feature (Özellik): Gözlemlenen bir fenomenin ölçülebilir bireysel özelliğidir (Örn: Bir ev tahmini modelinde oda sayısı veya binanın yaşı).
- Raw Data (Ham Veri): Kaynaktan geldiği gibi duran, işlenmemiş veridir (Örn: JSON logları, sensör kayıtları).
- Target (Hedef): Modelin tahmin etmeye çalıştığı değişken (Örn: Evin fiyatı).
- Feature Store (Özellik Deposu): Özelliklerin merkezi olarak saklandığı, paylaşıldığı ve versiyonlandığı platform.
2.2 Mimari Katmanlar
Modern bir özellik mühendisliği mimarisi üç ana katmandan oluşur:
- Ingestion: Verinin farklı kaynaklardan (SQL, NoSQL, Kafka, API) toplanması.
- Transformation: Ham verinin matematiksel işlemlere (scaling, encoding, poly-features) tabi tutulması.
- Serving: Hazırlanan özelliklerin model eğitimi (batch) veya anlık tahmin (online) için sunulması.
2.3 Terminoloji ve Bileşenler
- Imputation (Doldurma): Verideki boşlukların (missing values) mantıklı şekilde tamamlanması. - Binning: Sürekli sayısal verilerin aralıklara (bins) bölünerek kategorik hale getirilmesi. - One-Hot Encoding: Kategorik verilerin 0 ve 1'lerden oluşan vektörlere dönüştürülmesi. - Dimensionality Reduction: Çok fazla özelliğin olduğu durumlarda, bilgiyi kaybetmeden daha az özellikle temsil etme (PCA vb.).
3. NASIL ÇALIŞIR? TEKNİK İŞLEYİŞ VE MİMARİ
Özellik mühendisliği, verinin kaynaktan modele olan yolculuğunda bir transformasyon istasyonudur.
3.1 Sistem Mimarisi: Offline ve Online Ayrımı
Özellikler iki farklı senaryo için üretilir:
- Offline Features (Batch): Tarihsel veri üzerinde çalışır. Genellikle devasa veri gölleri (S3, GCS) içinde Spark veya dbt ile hesaplanır. Model eğitimi için kullanılır.
- Online Features (Real-Time): Milisaniyeler içinde sunulmalıdır. Örneğin bir kredi kartı işlemi sırasında "kullanıcının son 1 saatteki harcama tutarı" bilgisini döner. Genellikle Redis gibi in-memory veritabanlarında tutulur.
3.2 Veri Akışı (Feature Pipeline)
- Data Cleaning: Aykırı değerlerin (outliers) temizlenmesi ve veri tiplerinin düzeltilmesi.
- Feature Extraction: Ham metinden anahtar kelime çıkarma veya resimden kenar tespiti yapma.
- Feature Construction: Domain bilgisiyle yeni özellikler türetme (Örn: "Doğum tarihi" yerine "Yaş" kullanma).
- Feature Selection: Model için en etkili özellikleri istatistiksel testlerle seçme.
3.3 Feature Store Mimarisi (Feast, Tecton)
Modern sistemlerde özellik mühendisliği kodları her projede baştan yazılmaz. Bir Feature Store; offline ve online katmanları senkronize eder. Böylece eğitim sırasında kullanılan "A özelliği" ile üretim (production) sırasında sunulan "A özelliği" aynı tanıma ve değere sahip olur. Bu, Training-Serving Skew (Eğitim-Sunum Sapması) adı verilen en tehlikeli ML hatasını engeller.
4. GERÇEK DÜNYA KULLANIMLARI: SEKTÖR DEVSERİNİN STRATEJİLERİ
Dev teknoloji şirketleri, milyonlarca doları özellik mühendisliğine yatırır çünkü gerçek farkı bu yaratır.
4.1 Uber: Michelangelo Platformu
Uber, yemek teslimat süresini veya araç bekleme süresini tahmin etmek için binlerce özellik kullanır. "Son 15 dakikada o bölgedeki yağış durumu", "sürücünün son 24 saatteki performansı" gibi dinamik özellikler, Uber'in Michelangelo adını verdiği merkezi özellik deposundan çekilir. Bu otomasyon, bir veri bilimcinin saniyeler içinde yeni bir özelliği canlıya almasını sağlar.
4.2 Netflix: Kişiselleştirme ve Bağlam
Netflix size bir dizi önerirken sadece ne izlediğinize bakmaz. "Hangi saatte izliyorsunuz?", "Hangi cihazdan bakıyorsunuz?", "Hafta içi mi hafta sonu mu?" gibi özellikler üretir. Netflix'in özellik mühendisliği, statik verileri zamansal ve bağlamsal özelliklere dönüştürmek üzerine kuruludur.
4.3 Stripe: Dolandırıcılık Tespiti (Fraud Detection)
Bir işlemin sahte olup olmadığını saniyeler içinde anlamak gerekir. Stripe, işlem anında kullanıcının geçmişteki "harcama hızı", "IP adresi değişiklik sıklığı" ve "cihaz parmak izi" gibi onlarca karmaşık özelliği gerçek zamanlı türetir. Bu özellikler, manuel olarak tasarlanmış karmaşık finansal kuralları temsil eder.
4.4 OpenAI: Veri Hazırlama Hatları
GPT modellerinin eğitimi öncesinde internet verisi devasa bir temizlikten geçer. Gereksiz HTML etiketlerinin temizlenmesi, düşük kaliteli içeriklerin filtrelenmesi ve metinlerin "embedding" (vektör) formuna getirilmesi, aslında birer ileri seviye özellik mühendisliği adımıdır.
5. AVANTAJLAR VE SINIRLAMALAR: TEKNİK BİLANÇO
Özellik mühendisliği güçlüdür ancak maliyeti ve karmaşıklığı iyi yönetilmelidir.
Avantajlar
- Performans Kaldıracı: Basit bir modeli, doğru özelliklerle karmaşık bir modelden daha başarılı kılabilir.
- Yorumlanabilirlik: Ham veriden türetilen anlamlı özellikler, modelin "neden" o tahmini yaptığını anlamamıza yardımcı olur.
- Veri Ekonomisi: Gereksiz verileri eleyerek depolama ve compute maliyetlerini düşürür.
Sınırlamalar
- Zaman Alıcıdır: Veri bilimcilerin vaktinin %70-80'i genelde bu aşamada geçer.
- Domain Bağımlılığı: Veriyi anlamayan bir mühendis, matematiksel olarak doğru ama mantıksal olarak anlamsız özellikler üretebilir.
- Scalability Zorluğu: Gerçek zamanlı özellik türetmek çok yüksek sistem kaynağı (RAM/CPU) gerektirebilir.
6. ALTERNATİFLER VE KARŞILAŞTIRMA: YAKLAŞIM SEÇİMİ
Farklı senaryolar için hangi yöntem tercih edilmeli?
| Yaklaşım | Avantaj | Dezavantaj | Kullanım Durumu |
|---|---|---|---|
| Manuel Feature Eng. | Maksimum kontrol, domain uyumu | Çok yavaş ve hata payı yüksek | Finans, Sağlık (Kritik veriler) |
| Automated FE (AFE) | Hızlı, binlerce varyasyon üretir | Black box, anlamlandırması zor | E-ticaret, Hızlı prototipleme |
| Deep Learning (Embedding) | Otomatik özellik çıkarımı | Çok fazla veri ve compute ister | Görüntü İşleme, NLP |
| Feature Stores | Yeniden kullanılabilirlik, tutarlılık | Kurulum ve bakım maliyeti | Kurumsal ML ekipleri |
7. EN İYİ PRATİKLER: MASTER REHBER
Başarılı bir özellik mühendisliği süreci için altın kurallar:
7.1 Veri Kalitesi ve Önemli Adımlar
- Domain Uzmanıyla Çalışın: Bir banka verisini işliyorsanız, o bankanın kredi risk uzmanının görüşü, binlerce otomatik özellikten daha değerlidir.
- EDA (Keşifsel Veri Analizi) Yapın: Veriyi görselleştirmeden özellik türetmeyin. Korelasyon matrisleri, hangi özelliklerin hedefle ilişkili olduğunu söyler.
- Missing Value Stratejisi: Boş değerleri söküp atmak yerine neden boş olduklarını sorgulayın. "Boş olması" başlı başına bir özellik olabilir.
7.2 Üretim (Production) ve Dağıtım
- Feature Versioning: Bir özelliği değiştirdiğinizde eskisini silmeyin. Versiyonlayın ki eski modeller çalışmaya devam edebilsin.
- Unit Tests for Features: Özellik üreten kodunuzu test edin. Örneğin "Kullanıcı Yaşı" özelliği negatif geliyorsa sistemi durdurun.
- Monitoring Drift: Özelliklerinizin dağılımını izleyin. Eğer kullanıcının ortalama harcaması aniden 100 TL'den 1000 TL'ye çıktıysa, modelin tahminleri geçersizleşmiş olabilir.
7.3 Performans Optimizasyonu
- Scaling ve Normalization: Mesafe tabanlı algoritmalar (K-Means, SVM) kullanıyorsanız tüm özellikleri 0-1 arasına getirin.
- Pre-computation: Gerçek zamanlı hesaplanması zor olan özellikleri geceden hesaplayıp bir Key-Value Store'a (Redis vb.) yazın.
8. SIK YAPILAN HATALAR: PROJELERİ SABOTE EDEN YANLIŞLAR
- Data Leakage (Veri Sızıntısı): Gelecekteki bir bilgiyi özelliğin içine dahil etmek. (Örn: Hastanede kalış süresini tahmin ederken, hastanın taburcu olduğu günü özelliğe eklemek).
- Target Leakage: Hedef değişkenin bir kısmını yanlışlıkla özelliğe gömmek. (Örn: Satın almayı tahmin ederken "fatura kesildi mi" bilgisini eklemek).
- Gereksiz Karmaşıklık: Basit bir Log transformasyonu yetecekken, karmaşık derin öğrenme embedding'leri kurmaya çalışmak.
- Training-Serving Skew: Eğitimde veriyi farklı, sunumda (production) farklı şekilde işlemek. (Örn: Eğitimde ortalamayı tüm veriden, sunumda ise sadece o anki değerden hesaplamak).
- Özellik Patlaması: One-hot encoding ile 10 özellikli veriyi 10.000 özellikli hale getirmek ve modelin içinde kaybolmasına sebep olmak.
9. GELECEK TRENDLER: 2026 VE SONRASI
Özellik mühendisliği, manuel bir işten otonom bir sisteme evriliyor.
9.1 AI-Driven Feature Generation
LLM'ler (Büyük Dil Modelleri), verinin şemasını okuyup "bence şu veriden şu özellik türetilebilir" diye önerilerde bulunmaya başladı. 2026'da "otomatik özellik üreten ajanlar" standart hale gelecek.
9.2 Vector Databases as Feature Stores
Artık veriler sadece sayılarla değil, "vektörler" (embeddings) ile temsil ediliyor. Vektör veritabanları, özellik saklamanın ve benzerlik aramanın merkezi haline geliyor.
9.3 Real-Time Graph Features
Kullanıcıların birbirleriyle ilişkileri (sosyal ağlar) gerçek zamanlı grafik özelliklerine (Graph Embeddings) dönüşecek. Sahtecilik tespiti gibi alanlarda bu "ilişkisel özellikler" devrim yaratacak.
EK BÖLÜMLER
Sık Sorulan Sorular (FAQ)
- Özellik mühendisliği kodlama gerektirir mi?
Evet, genellikle Python (Pandas/PySpark) veya SQL bilgisi şarttır. Ancak no-code araçlar da gelişmektedir.
- Feature Store kurmak pahalı mıdır?
Başlangıç yatırımı yüksektir ancak ekipler arası özellik paylaşımını artırdığı için uzun vadede maliyeti düşürür.
- Bir özelliği silmeden önce neye bakmalıyım?
"Feature Importance" (Özellik Önem) skorlarına ve model üzerindeki etkisine (Shapley values vb.) bakılmalıdır.
- Derin öğrenme özellik mühendisliğini bitirdi mi?
Hayır. DL bazı özellikleri otomatik bulur ama yapılandırılmış verilerde (tabular data) manuel özellik mühendisliği hala krallığını koruyor.
- En iyi özellik seçimi yöntemi nedir?
Problemine göre değişir; ancak "Forward Selection" veya "Recursive Feature Elimination" genellikle iyi sonuç verir.
- Zaman serisi verilerinde en kritik özellik nedir?
Lag features (geçmiş değerler) ve Rolling Windows (hareketli ortalamalar) en kritik olanlardır.
- Hangi Python kütüphanelerini önerirsiniz?
Scikit-learn, FeatureTools, Pandas, Feature-engine ve TsFresh en popüler olanlarıdır.
- Özellik mühendisliği sadece sayısal verilerle mi yapılır?
Hayır; metin, görüntü, ses ve zaman verileri için özelleşmiş binlerce teknik vardır.
Anahtar Kavramlar Sözlüğü
- One-Hot Encoding
- Kategorik verilerin sayısal vektörlere dönüştürülmesi tekniği.
- Standardization
- Veriyi ortalaması 0, standart sapması 1 olacak şekilde dönüştürme işlemi.
- Feature Store
- ML özellikleri için merkezi yönetim ve servis platformu.
- Embedding
- Karmaşık verilerin (kelime, resim) düşük boyutlu sayısal vektörlerle temsil edilmesi.
- Polynomial Features
- Değişkenlerin birbiriyle etkileşimini görmek için karelerini veya çarpımlarını alma işlemi.
Öğrenme Yol Haritası (Feature Engineer)
- Adım 1: Temel Matematik ve İstatistik. Dağılımlar, ortalama, standart sapma ve aykırı değer analizini öğrenin.
- Adım 2: Python / SQL Hakimiyeti. Pandas ve SQL ile veri manipülasyonunda uzmanlaşın.
- Adım 3: Klasik Teknikler. Encoding, Scaling, Imputation ve Binning tekniklerini gerçek projelerde uygulayın.
- Adım 4: ML Temelleri. Hangi algoritmanın hangi tip veriyi sevdiğini (Örn: Ağaç bazlı modeller scaling istemez) anlayın.
- Adım 5: MLOps ve Feature Stores. Feast gibi platformları kullanarak özelliklerini canlıya almayı ve izlemeyi öğrenin.