R'de tek sıcak kodlama nasıl yapılır
Kategorik değişkenleri makine öğrenimi algoritmaları tarafından kullanılabilecek bir formata dönüştürmek için tek sıcak kodlama kullanılır.
One-hot kodlamanın temel fikri, orijinal kategorik değerleri temsil etmek için 0 ve 1 değerlerini alan yeni değişkenler oluşturmaktır.
Örneğin, aşağıdaki görüntü, takım adlarını içeren kategorik bir değişkeni yalnızca 0 ve 1 değerleri içeren yeni değişkenlere dönüştürmek için nasıl sıcak kodlama yapacağımızı gösterir:
Aşağıdaki adım adım örnek, R’de bu tam veri kümesi için tek seferlik kodlamanın nasıl yapılacağını gösterir.
1. Adım: Verileri oluşturun
Öncelikle R’de aşağıdaki veri çerçevesini oluşturalım:
#create data frame df <- data. frame (team=c('A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'), points=c(25, 12, 15, 14, 19, 23, 25, 29)) #view data frame df team points 1 to 25 2 to 12 3 B 15 4 B 14 5 B 19 6 B 23 7 C 25 8 C 29
2. Adım: Tek seferde kodlama gerçekleştirin
Daha sonra, veri çerçevesindeki ‘team’ değişkenini tek seferde kodlamak için caret paketinin dummyVars() fonksiyonunu kullanalım:
library ( caret) #define one-hot encoding function dummy <- dummyVars(" ~ . ", data=df) #perform one-hot encoding on data frame final_df <- data. frame (predict(dummy, newdata=df)) #view final data frame final_df teamA teamB teamC points 1 1 0 0 25 2 1 0 0 12 3 0 1 0 15 4 0 1 0 14 5 0 1 0 19 6 0 1 0 23 7 0 0 1 25 8 0 0 1 29
Orijinal “ekip” sütunu üç benzersiz değer içerdiğinden veri çerçevesine üç yeni sütun eklendiğini unutmayın.
Ayrıca orijinal “ekip” sütununun artık ihtiyaç duyulmadığından veri çerçevesinden kaldırıldığını unutmayın.
Tek-hot kodlama tamamlandı ve artık bu veri kümesini tercih ettiğimiz herhangi bir makine öğrenimi algoritmasına besleyebiliriz.
Not : dummyVars() işlevine ilişkin çevrimiçi belgelerin tamamını burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimler kategorik değişkenlerin kullanımına ilişkin ek bilgiler sağlar:
R’de kategorik değişkenler nasıl oluşturulur?
R’de kategorik veriler nasıl çizilir
Kategorik veya niceliksel değişkenler: fark nedir?