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?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir