Kategorik Verilerin Sayısallaştırılması (Label Encoder ve One Hot Encoder)
--
Makine öğrenimi algoritmaları doğrudan kategorik veriler ile çalışmadığından kategorik verilerin sayısallaştırılması gerekmektedir. Kategorik verilerin sayısallaştırılmasında yaygın olarak kullanılan iki yöntem vardır. Bunlar:
- Label Encoder (Knime’daki karşılığı Category to Number)
- One Hot Encoder (Knime’daki karşılığı One to Many)
Label Encoder
Elimizdeki kategoriler küçük orta büyük gibi büyüklük belirtiyorsa ve 1, 2, 3 şeklinde sayısallaştırdığında anlamsal olarak değer kazanıyorsa Label Encoder ile sayısallaştırabiliriz. Anlamsal olarak değer kaybetme durumuna örnek verecek olursak mavi, yeşil, kırmızı olan kategorileri 1, 2, 3 olarak sayısallaştırırsak 2 < 3 durumunun yeşil < kırmızı anlamına gelmemesidir. Bu durumda Label Encoder kullanamayız. Tabi renklerin dalgaboyları sonuca etki ediyorsa bu durumda da label encoder kullanabiliriz. Çünkü elektromanyetik spektrumda mavi < yeşil < kırmızı dalgaboyu olarak düşündüğümüzde mantıklıdır.
Label Encoder’ı kullanabileceğimiz bir durum daha vardır bu da bir sütundaki kategori sayısı 2 olduğu durumdur. Örneğin Female, Male olan kategorileri 0, 1 olarak sayısallaştırmak için Label Encoder kullanabiliriz.
One Hot Encoder
Bu durum tüm kategorik veriler için uygulanabilir. Kategorik olan sütunların Sparse Matrix şekline dönüştürülmesi yani 1, 0 olarak sayısallaştırılmasıdır.
Mesela Elimizde Mavi, Yeşil, Kırmızı şeklinde üç kategori olsun bu kategoriler de Renk sütununun altında olsun. Renk_Mavi, Renk_Yeşil, Renk_Kırmızı şeklinde üç sütun oluşturup bu sütunların altına her satır için orjinal sütunda hangi renk varsa ona 1 diğerlerine 0 değerini veririz.