Makine öğrenmesi projelerinde veri kalitesi ve özelliklerin doğru seçilmesi, model başarımını büyük ölçüde belirler. Özellik mühendisliği, ham veriden anlamlı girdiler oluşturma sürecidir ve modelin öğrenme kapasitesini artırır. Doğru uygulandığında doğruluk oranını önemli ölçüde yükseltebilir, aşırı uyum riskini azaltabilirsiniz.
Özellik Mühendisliğinde İlk Adımlar
Veriyi Tanıyın ve Keşfedin
- Veri tipini belirleyin: Sayısal, kategorik, metin, zaman serisi gibi her tür farklı işleme gerektirir.
- Eksik değerleri analiz edin: Eksik veri oranını hesaplayın ve uygun doldurma stratejisi (ortalama, medyan, mod, ileri/geri doldurma) seçin.
- Aykırı değerleri tespit edin: Kutu grafiği, Z-skoru veya IQR yöntemleri ile aykırı değerleri belirleyip model üzerindeki etkisini değerlendirin.
- Dağılımları inceleyin: Histogram ve yoğunluk grafikleriyle sayısal değişkenlerin dağılımını görün; çarpıklık varsa dönüşüm uygulayın.
Özellik Çıkarımı (Feature Extraction)
Ham veriden yeni bilgiler türetmek modelin desenleri yakalamasına yardımcı olur.
- Zamana dayalı özellikler: Tarih sütunundan yıl, ay, gün, haftanın günü, saat dilimi gibi bileşenler çıkarın.
- Metin verisi: TF-IDF, kelime vektörleri (Word2Vec, GloVe) veya dönüştürücü tabanlı temsiller (BERT embedding) kullanın.
- Kategorik değişkenler: One-hot encoding, label encoding veya hedef kodlama (target encoding) uygulayın. Yüksek kardinaliteli kategorilerde frekans bazlı encoding iyi sonuç verir.
- Etkileşim özellikleri: İki değişkenin çarpımı, toplamı, farkı gibi yeni özellikler oluşturun. Özellikle doğrusal modellerde faydalıdır.
- Toplamsal istatistikler: Grup bazında ortalama, medyan, standart sapma gibi istatistikleri hesaplayıp ekleyin.
Özellik Seçimi (Feature Selection)
Gereksiz veya yinelenen özellikleri elemek modeli basitleştirir, aşırı uyumu azaltır ve eğitim süresini kısaltır.
- Korelasyon analizi: Yüksek korelasyonlu özelliklerden birini çıkarın (eşik değer genelde 0.8-0.9).
- Tek değişkenli (univariate) seçim: ANOVA, ki-kare, karşılıklı bilgi (mutual information) gibi yöntemlerle en anlamlı özellikleri belirleyin.
- Model tabanlı seçim: Lasso (L1 regularization), karar ağaçları, Random Forest özellik önemi (feature importance) kullanın.
- Rekürsif özellik elemesi (RFE): Ardışık olarak en önemsiz özelliği çıkararak model başarımını izleyin.
- Aşırı özellik sayısı durumunda boyut indirgeme (PCA, t-SNE) düşünün; ancak yorumlanabilirliği düşürebilir. Aşırı uyumla mücadele yöntemlerini de inceleyin.
Özellik Dönüşümü ve Ölçekleme
Birçok model (SVM, KNN, derin öğrenme) ölçek duyarlıdır.
- Normalizasyon (Min-Max Scaling): Değerleri [0,1] aralığına getirir. Dağılımın sınırları belli olduğunda uygundur.
- Standartlaştırma (Z-score): Ortalamayı 0, standart sapmayı 1 yapar. Aykırı değerlere karşı daha dayanıklıdır.
- Log dönüşümü: Sağa çarpık dağılımlar için log, karekök veya Box-Cox dönüşümü uygulayın.
- Bin / Kuantil dönüşümü: Sayısal değişkeni kategorik aralıklara bölmek doğrusal olmayan ilişkileri yakalamaya yardımcı olabilir.
Kontrol Listesi
Aşağıdaki adımları projenizde kontrol ederek özellik mühendisliği sürecinizi sistematik hale getirebilirsiniz.
- ☐ Veri setini keşfedin, eksik ve aykırı değerleri tespit edin.
- ☐ Tarih, metin, kategorik değişkenlerden anlamlı özellikler çıkarın.
- ☐ Etkileşim ve toplamsal istatistik özellikleri oluşturun.
- ☐ Korelasyon ve model tabanlı yöntemlerle özellik seçimi yapın.
- ☐ Sayısal özellikleri uygun şekilde ölçekleyin (normalizasyon/standartlaştırma).
- ☐ Çarpık dağılımları dönüşümlerle düzeltin.
- ☐ Seçtiğiniz özelliklerle bir baseline model kurup başarımı kaydedin.
- ☐ Farklı özellik setleriyle çapraz doğrulama yaparak karşılaştırın. Hiperparametre optimizasyonu ile birlikte çalıştığınızdan emin olun.
- ☐ Model yorumlanabilirliği için SHAP veya LIME kullanarak özellik önemini doğrulayın.
- ☐ Sonuçları belgeleyin ve yeniden kullanılabilir pipeline oluşturun.
Sık Yapılan Hatalar ve Dikkat Edilmesi Gerekenler
- Veri sızıntısı (data leakage): Eğitim setinden hesaplanan istatistikleri (ortalama, ölçekleme parametreleri) test setine taşırken dikkatli olun. Her zaman önce eğitim setine uygulayın, ardından aynı dönüşümü test setine aktarın.
- Aşırı özellik ekleme: Gereksiz veya gürültülü özellikler aşırı uyuma yol açar. Düzenlileştirme teknikleri ile dengeleyin. Regularization teknikleri bu noktada size yardımcı olacaktır.
- Ölçekleme sırasını yanlış uygulamak: Eksik değer doldurma ve aykırı değer temizlemeden önce ölçekleme yapmak hatalı sonuçlar verebilir. Sıralamaya dikkat edin: temizlik → dönüşüm → ölçekleme.
- Yorumlanabilirliği ihmal etmek: Karmaşık özellik dönüşümleri (PCA, deep embedding) model açıklanabilirliğini düşürür. İş hedeflerinize uygun yöntem seçin.
Özellik Mühendisliğinde İleri Teknikler
Veri setiniz büyüdükçe otomatik özellik mühendisliği araçları (Featuretools, AutoFeat) veya derin öğrenme tabanlı özellik öğrenme (autoencoder) yöntemlerini değerlendirebilirsiniz. Ancak her zaman temel prensipleri sağlam bir şekilde uygulamak en önemli adımdır. Unutmayın, iyi temizlenmiş ve anlamlı özellikler çoğu zaman karmaşık modellerden daha iyi sonuç verir.
Sık Sorulan Sorular
Özellik mühendisliği nedir ve neden önemlidir?
Özellik mühendisliği, ham veriden modelin daha iyi öğrenmesini sağlayacak anlamlı girdiler (özellikler) oluşturma sürecidir. Doğru özellikler model doğruluğunu artırır, aşırı uyumu azaltır ve eğitim süresini kısaltır.
Özellik seçimi ve özellik çıkarımı arasındaki fark nedir?
Özellik çıkarımı mevcut verilerden yeni özellikler türetirken (örneğin tarihten gün bilgisi), özellik seçimi mevcut özellikler arasından en anlamlı olanları seçer. Her iki adım da model başarımını iyileştirir.
Tüm modeller için hangi ölçekleme yöntemi daha iyidir?
Kesin bir kural yoktur. Min-Max normalizasyonu sınırlı aralıklı verilerde, Z-skor standartlaştırması ise aykırı değerlere karşı daha dayanıklıdır. Genellikle her iki yöntemi de deneyip çapraz doğrulama ile karşılaştırmanız önerilir.
Özellik mühendisliğinde en sık yapılan hata nedir?
En yaygın hata veri sızıntısıdır: test setinden bilgiyi eğitim setine taşımak. Örneğin, tüm veri üzerinde ölçekleme yapmak yerine eğitim seti istatistiklerini kullanıp test setine uygulamak gerekir.
Kaç tane özellik kullanmalıyım?
Kesin bir sayı yok; ancak başlangıçta eldeki tüm anlamlı özellikleri ekleyip düzenlileştirme veya özellik seçimi ile gereksizleri elemek etkili bir yaklaşımdır. Boyutluluk lanetinden kaçınmak için özellik sayısının örnek sayısından çok fazla olmamasına dikkat edin.






