tag kategorik-veriler

Bu sayfada kategorik-veriler etiketi ile işaretlenmiş 1 yapay zeka kavramını bulabilirsiniz.

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.

code_blocks

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.

arrow_forward