tag feature-engineering
Bu sayfada feature-engineering etiketi ile işaretlenmiş 2 yapay zeka kavramını bulabilirsiniz.
Data wrangling (veri düzenleme ya da veri mücadelesi olarak da bilinir), ham ve dağınık veri kümelerini analiz ve makine öğrenimi modellerine uygun biçimde kullanılabilir hale getirmek amacıyla uygulanan temizleme, dönüştürme ve birleştirme sürecini ifade eder. Gerçek dünya verilerinin büyük çoğunluğu eksik değerler, yanlış biçimler, tutarsız kodlamalar ve aykırı gözlemler içerdiğinden bu süreç, başarılı bir veri bilimi projesinin temel taşını oluşturur. Data wrangling süreci tipik olarak birkaç kritik adımı kapsar. İlk adımda veriler farklı kaynaklardan (CSV dosyaları, API yanıtları, veritabanı sorguları, web scraping çıktıları) bir araya getirilir. Keşif aşamasında verinin genel yapısı, sütun türleri ve özet istatistikler incelenir; sorunlu alanlar tespit edilir. Temizleme adımında eksik değerler imputation yöntemleriyle doldurulur ya da ilgili satırlar çıkarılır, yinelenen kayıtlar kaldırılır, hatalı biçimler düzeltilir ve uç değerler ayıklanır. Dönüştürme aşamasında tarih-saat formatları standartlaştırılır, kategorik değişkenler one-hot encoding veya label encoding ile sayısallaştırılır ve sayısal sütunlar normalizasyon ya da standardizasyon ile ölçeklenir. Son olarak birden fazla tablo ya da kaynak JOIN/merge işlemleriyle birleştirilerek nihai analiz veri kümesi oluşturulur. Araştırmalar, veri bilimcilerin zamanının yaklaşık yüzde altmış ile seksen arasını modelleme ve görselleştirme yerine veri hazırlama adımlarına harcadığını ortaya koymaktadır. Python ekosisteminde Pandas ve Polars en yaygın kullanılan kütüphanelerdir. Büyük ölçekli projelerde Apache Spark veya dbt gibi araçlar tercih edilirken düşük kod araçları (OpenRefine, Alteryx, Trifacta) teknik geçmişi olmayan kullanıcılara da wrangling imkânı sunar. Makine öğrenimi bağlamında data wrangling, özellik mühendisliği (feature engineering) ile birlikte anılır; ancak ikisi farklı kavramlardır: wrangling ham veriyi temizleyip yapılandırır, feature engineering ise bu temiz veriden yeni anlamlı öznitelikler türetir. Temiz ve iyi yapılandırılmış veri olmadan hiçbir model istenen performansa ulaşamaz; bu nedenle data wrangling hem pratikte hem teoride yapay zeka projelerinin en kritik adımlarından biri olarak kabul edilir.
Data Wrangling (Veri Düzenleme)
Data wrangling (veri düzenleme ya da veri mücadelesi olarak da bilinir), ham ve dağınık veri kümelerini analiz ve makine öğrenimi modellerine uygun biçimde kullanılabilir hale getirmek amacıyla uygulanan temizleme, dönüştürme ve birleştirme sürecini ifade eder. Gerçek dünya verilerinin büyük çoğunluğu eksik değerler, yanlış biçimler, tutarsız kodlamalar ve aykırı gözlemler içerdiğinden bu süreç, başarılı bir veri bilimi projesinin temel taşını oluşturur. Data wrangling süreci tipik olarak birkaç kritik adımı kapsar. İlk adımda veriler farklı kaynaklardan (CSV dosyaları, API yanıtları, veritabanı sorguları, web scraping çıktıları) bir araya getirilir. Keşif aşamasında verinin genel yapısı, sütun türleri ve özet istatistikler incelenir; sorunlu alanlar tespit edilir. Temizleme adımında eksik değerler imputation yöntemleriyle doldurulur ya da ilgili satırlar çıkarılır, yinelenen kayıtlar kaldırılır, hatalı biçimler düzeltilir ve uç değerler ayıklanır. Dönüştürme aşamasında tarih-saat formatları standartlaştırılır, kategorik değişkenler one-hot encoding veya label encoding ile sayısallaştırılır ve sayısal sütunlar normalizasyon ya da standardizasyon ile ölçeklenir. Son olarak birden fazla tablo ya da kaynak JOIN/merge işlemleriyle birleştirilerek nihai analiz veri kümesi oluşturulur. Araştırmalar, veri bilimcilerin zamanının yaklaşık yüzde altmış ile seksen arasını modelleme ve görselleştirme yerine veri hazırlama adımlarına harcadığını ortaya koymaktadır. Python ekosisteminde Pandas ve Polars en yaygın kullanılan kütüphanelerdir. Büyük ölçekli projelerde Apache Spark veya dbt gibi araçlar tercih edilirken düşük kod araçları (OpenRefine, Alteryx, Trifacta) teknik geçmişi olmayan kullanıcılara da wrangling imkânı sunar. Makine öğrenimi bağlamında data wrangling, özellik mühendisliği (feature engineering) ile birlikte anılır; ancak ikisi farklı kavramlardır: wrangling ham veriyi temizleyip yapılandırır, feature engineering ise bu temiz veriden yeni anlamlı öznitelikler türetir. Temiz ve iyi yapılandırılmış veri olmadan hiçbir model istenen performansa ulaşamaz; bu nedenle data wrangling hem pratikte hem teoride yapay zeka projelerinin en kritik adımlarından biri olarak kabul edilir.
One-Hot Encoding (Tek-Sıcak Kodlama)
One-hot encoding (tek-sıcak kodlama), kategorik verileri makine öğrenmesi modellerinin işleyebileceği sayısal biçime çeviren temel bir veri ön işleme tekniğidir. Makine öğrenmesi algoritmaları matematiksel işlemler yaptığından, 'kırmızı', 'mavi' veya 'İstanbul' gibi metin tabanlı kategorik değerleri doğrudan kullanamaz. One-hot encoding bu sorunu çözmek için her kategoriye özgü bir ikili (binary) vektör oluşturur. Yöntemin çalışma mantığı şöyledir: N farklı kategoriden oluşan bir değişken için N boyutlu bir vektör uzayı tanımlanır. Her kategori, yalnızca kendi konumundaki bitin '1', diğer tüm bitlerin '0' olduğu benzersiz bir vektörle temsil edilir. Örneğin üç renkten oluşan bir 'renk' değişkeni için: kırmızı → [1, 0, 0], mavi → [0, 1, 0], yeşil → [0, 0, 1]. Bu kodlama biçimi, modelin kategoriler arasında yanlış bir sıralama veya büyüklük ilişkisi kurmasını engeller. Label encoding gibi alternatif yöntemler kategorilere 0, 1, 2... gibi tam sayılar atar; ancak bu yaklaşım modelin 'mavi > kırmızı' gibi anlamsız sıralama çıkarımları yapmasına yol açabilir. One-hot encoding, kategoriler arasında herhangi bir sıralama olmadığını garantiler; çünkü her vektör Öklid uzayında diğerlerine eşit uzaklıktadır. Temel dezavantajı, yüksek kardinaliteli (çok sayıda benzersiz değer içeren) değişkenlerde boyut patlamasına (curse of dimensionality / boyut laneti) yol açmasıdır. Binlerce şehir veya ürün kategorisi içeren bir değişken, binlerce yeni sütun oluşturur. Bu durum hem bellek tüketimini hem de eğitim süresini önemli ölçüde artırır. Bu tür senaryolarda hedef kodlama (target encoding), frekans kodlama veya öğrenilebilir gömme (embedding) katmanları daha uygun alternatifler sunar. One-hot encoding; lojistik regresyon, destek vektör makineleri ve yapay sinir ağları gibi modellerde kategorik özellikleri işlemek için yaygın biçimde kullanılır. scikit-learn'ün OneHotEncoder sınıfı ve pandas'ın get_dummies() fonksiyonu bu dönüşümü birkaç satır kodla gerçekleştirmeyi mümkün kılar. Düşük kardinaliteli, nominal (sırasız) kategorik değişkenlerde tercih edilen bu yöntem, veri ön işleme pipeline'larının vazgeçilmez bir parçasıdır.