Feature Engineering (Öznitelik / Özellik Mühendisliği)

Ham veriden makine öğrenmesi modellerinin daha etkili öğrenmesi için bilgilendirici temsiller ve değişkenler türetme süreci.

Özellik mühendisliği (feature engineering), ham veriden makine öğrenmesi modellerinin daha iyi öğrenebileceği bilgilendirici özellikler türetme sürecidir. Algoritmalar veriyi olduğu gibi değil, sunulan özellikler aracılığıyla öğrenir; bu nedenle hangi özelliğin nasıl temsil edildiği model performansını doğrudan belirler. Özellik mühendisliği birçok alt görevden oluşur. Özellik oluşturma, mevcut sütunları birleştirerek veya dönüştürerek yeni değişkenler üretir: bir e-ticaret veri setinde kullanıcının gün içi sipariş yoğunluğu 'sabah', 'öğleden sonra', 'gece' gibi zaman dilimi etiketlerine dönüştürülebilir. Özellik seçimi ise gürültülü veya gereksiz değişkenleri elemek için korelasyon analizi, karşılıklı bilgi skoru veya özellik önem skorlarını kullanır. Kategorik değişkenlerin sayısal temsillere dönüştürülmesi temel mühendislik adımlarından biridir. One-hot encoding ikili sütunlar üretirken, hedef kodlama (target encoding) kategorileri hedef değişkenin ortalamasıyla temsil eder. Yüksek kardinaliteli sütunlarda embedding tabanlı yaklaşımlar bilgiyi daha kompakt biçimde saklar. Sayısal özellikler için normalizasyon (min-max ölçekleme) ve standardizasyon (z-skoru dönüşümü) kritik ön işleme adımlarıdır. Mesafe tabanlı algoritmalar (k-NN, SVM) bu ölçeklemeye duyarlıdır; ölçekleme yapılmadan büyük değer aralıklı özellikler küçük aralıklıları gölgede bırakır. Zaman serisi verisinde gecikme özellikleri (lag features), hareketli ortalama ve mevsimsel bileşenler gibi mühendislik dönüşümleri modellerin zamansal örüntüleri kavramasını sağlar. Metin verisinde TF-IDF ve n-gram özellikleri, görüntü verisinde ise histogram eşitleme ve kenar çıkarımı klasik özellik mühendisliği adımlarıdır. Derin öğrenme bu adımların bir kısmını otomasyona taşımış olsa da yapısal ve tablolu veri içeren birçok endüstriyel görevde manuel özellik mühendisliği, model performansını belirleyici biçimde etkileyen kritik ayrımcı etken olmayı sürdürmektedir. Kaggle gibi rekabetçi veri bilimi platformlarında üst sıralardaki çözümlerin ortak özelliği, algoritma seçiminden çok üretken ve yenilikçi özellik mühendisliği stratejisine dayanmalarıdır. Featuretools gibi otomatik mühendislik kütüphaneleri süreci hızlandırırken, alan uzmanlığı en değerli özellik kaynaklarını belirleme konusunda belirleyici rolünü korur.

Neden Özellik Mühendisliği Önemlidir?

Makine öğrenmesi modelleri ham veriyi değil, sunulan özellikleri öğrenir. Aynı algoritma farklı özellik setleriyle dramatik biçimde farklı sonuçlar verebilir. Yapılandırılmış verili görevlerde alan uzmanlığıyla üretilen özellikler çoğu zaman en güçlü sinyal kaynağını oluşturur. Kaggle gibi yarışmalarda en yüksek puanları alan çözümlerin ortak paydası titiz özellik mühendisliğidir.

Kategorik Değişken Kodlama

Makine öğrenmesi modelleri sayısal girdiler bekler; bu nedenle kategorik değişkenler dönüştürülmelidir. One-hot encoding her kategori için ikili sütun oluşturur; düşük kardinaliteli değişkenlerde idealdir. Ordinal encoding kategoriler arasında doğal bir sıra varken kullanılır. Hedef kodlama her kategorinin hedef değişkenle ortalama ilişkisini sayıya çevirir ve yüksek kardinaliteli değişkenlerde güçlü alternatiftir.

Sayısal Özellik Dönüşümleri

Min-max normalizasyonu özellikleri 0-1 aralığına sıkıştırır; aykırı değerlere duyarlıdır. Z-skoru standardizasyonu sıfır ortalamalı, birim varyanslı bir dağılım üretir ve aykırı değerlere daha dayanıklıdır. Çarpık dağılımlı özellikler için logaritmik veya kutu kökü dönüşümü, modelin doğrusal ilişkileri daha iyi öğrenmesine katkı sağlar.

Zaman Serisi ve Metin Özellikleri

Zaman serisi verisinde en güçlü özellikler genellikle geçmiş değerlerden türetilir: t-1, t-7 ve t-30 gecikme özellikleri, hareketli ortalama ve standart sapma, mevsimsel bileşenler ve trend göstergeleri bunların başında gelir. Metin verisinde TF-IDF sözlük tabanlı önem skorları üretirken modern yaklaşımlar önceden eğitilmiş embedding modellerinden özellik vektörleri çıkarır.

Özellik Mühendisliği Araçları

Featuretools

Otomatik özellik üretimi; ilişkisel veri setlerinde derin özellik sentezi (DFS) ile onlarca değişken kombinasyonunu otomatik oluşturur.

tsfresh

Zaman serisi özellik çıkarımı; 700+ istatistiksel öznitelik otomatik üretir, IoT ve sensör verisinde kritik örüntüleri yakalamak için kullanılır.

Category Encoders

Scikit-learn uyumlu kategorik kodlama kütüphanesi; ordinal, target encoding, binary encoding ve leave-one-out gibi 15+ yöntem içerir.

Sklearn Pipeline

Ön işleme ve model adımlarını zincirler; veri sızıntısını önler, cross-validation ile tutarlı dönüşüm ve üretimde tekrarlanabilirlik sağlar.

Sıkça Sorulan Sorular

  • check_circle Derin öğrenme özellik mühendisliğini gereksiz kılıyor mu? Görüntü ve metin gibi yüksek boyutlu verilerde büyük ölçüde evet. Ancak tablolu ve yapısal verilerde alan uzmanlığıyla üretilen özellikler derin öğrenmeden bile üstün performans verebilir.
  • check_circle Özellik seçimi nasıl yapılır? Korelasyon matrisi, karşılıklı bilgi skoru, ağaç tabanlı modellerin özellik önem skorları ve L1 düzenlileştirme özellik seçiminde yaygın yöntemlerdir.
  • check_circle Fazla özellik zararlı olabilir mi? Evet. Boyutluluk laneti (curse of dimensionality) fazla özelliğin modeli yanıltmasına ve aşırı öğrenmeye zemin hazırlamasına yol açar. Gereksiz özellikler gürültü ekler.
  • check_circle AutoML özellik mühendisliğini otomatize edebilir mi? Featuretools gibi kütüphaneler ve AutoML platformları basit dönüşümleri otomatikleştirebilir; ancak alan uzmanlığı gerektiren yaratıcı özellik tasarımı hâlâ insan müdahalesi gerektirir.