Kategorik Veriler (Python ile Makine Öğrenmesi – 3)

Merhaba arkadaşlar, bu derste verilerimizi nasıl kategorik bir tablo yapısında göserebileceğimizi öğreneceğiz. Bu ne işimize yarayacak derseniz, bazı veriler numerik değilse bunları işlemek için gruplamanız gerekmektedir. daha önce bahsettiğimiz ülke tablomuzdaki tr, fr, us verilerinin herbirini ilk önce bir değer atayıp sonra bir tabloda bu değerleri göstereceğiz.

Önceki derslerde veriler tablomuzu hatırlayın. Bu tablo içindeki sadece ülke verisini aşağıdaki gibi çekiyoruz.

ulke = veriler.iloc[:,0:1].values
print(ulke)

Sonuç

[['tr']
 ['tr']
 ['tr']
 ['tr']
 ['tr']
 ['tr']
 ['tr']
 ['tr']
 ['tr']
 ['us']
 ['us']
 ['us']
 ['us']
 ['us']
 ['us']
 ['fr']
 ['fr']
 ['fr']
 ['fr']
 ['fr']
 ['fr']
 ['fr']]

Daha sonra ülke kodlarını sırayla vererek kategorik tablomuzu oluşturuyoruz.

Daha sonra aşağıdaki kod ile sklearn kütüphanesini kullanarak bu veriyi encode edeceğiz. sklearn kütüphanesinde sorun yaşarsanız scikit-learn=0.21.3 sürümünü yükleyebilirsiniz.

# labelencoder stringleri sayısal verilere dönüştürmeye yarar
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
# bu sınıfta bir nesne oluştur
le = LabelEncoder()

# ulke isimlerini sayısal değerlere dönüştür
ulke[:,0] = le.fit_transform(ulke[:,0])
print(ulke)

# transform matrisine göre düzenle
ohe = OneHotEncoder(categorical_features='all')
ulke = ohe.fit_transform(ulke).toarray()
print(ulke)

Son olarak encode yaptığımız ülkeleri transform matrsinde gösteriyoruz.

[[0. 1. 0.]
 [0. 1. 0.]
 [0. 1. 0.]
 [0. 1. 0.]
 [0. 1. 0.]
 [0. 1. 0.]
 [0. 1. 0.]
 [0. 1. 0.]
 [0. 1. 0.]
 [0. 0. 1.]
 [0. 0. 1.]
 [0. 0. 1.]
 [0. 0. 1.]
 [0. 0. 1.]
 [0. 0. 1.]
 [1. 0. 0.]
 [1. 0. 0.]
 [1. 0. 0.]
 [1. 0. 0.]
 [1. 0. 0.]
 [1. 0. 0.]
 [1. 0. 0.]]

İyi çalışmalar,

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.