DEV Community

MustafaLSailor
MustafaLSailor

Posted on • Updated on

Label Encoding && One-Hot Encoding

Label Encoding ve One-Hot Encoding, kategorik verileri sayısal hale getirmek için kullanılan iki popüler tekniktir. Her ikisinin de kullanım durumları vardır:

Label Encoding: Bu teknik, nominal (isimsel) kategorik verileri sayısal hale getirir. Ancak, bu teknikle dönüştürülen verilerde bir "sıralama" ya da "önem" ilişkisi oluşabilir. Yani, model bazen 1'in 0'dan, 2'nin 1'den daha "önemli" olduğunu varsayabilir. Bu nedenle, Label Encoding genellikle ordinal (sıralı) kategorik veriler için kullanılır çünkü bu tür verilerde zaten belirli bir sıralama vardır.

One-Hot Encoding: Bu teknik, nominal kategorik verileri sayısal hale getirir ve her bir kategori için ayrı bir özellik (kolon) oluşturur. Her kategori için oluşturulan bu yeni özellikler, o kategorinin varlığını (1) veya yokluğunu (0) gösterir. Böylece, modelde yanıltıcı bir "sıralama" ya da "önem" ilişkisi oluşmaz. Ancak, One-Hot Encoding çok fazla kategoriye sahip verilerde çok sayıda özellik oluşturacağı için "boyutluluk laneti"ne yol açabilir. Bu durumda, daha düşük boyutlu bir kodlama tekniği kullanılabilir.

Hangi tekniğin kullanılacağına, verinin türüne, modelin türüne ve belirli bir durumun gereksinimlerine bağlıdır.

Boyutluluk laneti

"One Hot Encoding" genellikle kategorik verileri sayısal formata dönüştürmek için kullanılan bir tekniktir. Ancak, bu teknik bazen "boyut laneti" (Curse of Dimensionality) adı verilen bir soruna yol açabilir.

Boyut laneti, verinin özelliklerinin (veya boyutlarının) sayısı arttıkça, bu boyutların her birinde yeterli miktarda veri elde etmek için gereken veri miktarının geometrik olarak arttığını ifade eder. Yani, boyut sayısı arttıkça, modelin bu boyutlardaki ilişkileri öğrenmesi ve genelleme yapabilmesi için gereken veri miktarı da çok hızlı bir şekilde artar.

One Hot Encoding'de, her kategori için ayrı bir özellik (veya boyut) oluşturulur. Bu nedenle, kategorik değişkenlerin çok fazla benzersiz değeri varsa, one hot encoding sonucunda çok büyük bir özellik matrisi oluşabilir. Bu durumda, modelin bu kadar çok özelliği öğrenebilmesi için çok daha fazla veriye ihtiyaç duyulur ve bu da boyut laneti sorununa yol açabilir.

Bu sorunu çözmek için farklı teknikler kullanılabilir. Örneğin, benzer kategoriler gruplanabilir veya daha az boyutlu bir gösterim sağlayan teknikler (örneğin, embedding) kullanılabilir.

Top comments (0)