İçeriğe geç

Makine Öğrenmesi Verilerin Hazırlanması

Makine öğrenmesinde kullanılan algoritmaların bellirli kıstasları olabiliyor. Bu kıstaslara göre bir algoritma size şu şartı sunabilir. Bana vereceğin veri seti sadece sayısal veri içersin bunun dışında sözel(string) veriler içerirse bu algoritmayı kullanamazsın gibi. Burada işler karışabiliyor, nasıl ve neden karıştığını açıklayayım.

Şimdi bir veri setimiz var bu veri seti bir bankaya ait verilerin bulunduğu bir veri grubu bu veri grubunda kişinin eğitim durumu, evlilik durumu, kirada mı kendi evinde mi oturuyor gibi kişisel bilgilere sahibiz birde farz edelim cinsiyet durumu olsun.

Burada kişinin cinsiyeti bizi zor duruma sokmayacaktır. Çünkü cinsiyet bildiğimiz gibi 2 adettir, erkek veya kadın. Herkes bunu farklı yorumlayabilir bir yazılımcı gelir ve ona göre cinsiyetin 0 olması erkek 1 olması bayanı ifade ediyor olabilir, bana göre erkek olma durumu true kadın olma durumu false olmalıdır yada tam tersi. Ama burada ortak bir nokta var bu durumlar birbirinin zıttı olan 2 durum yani başka alternatifi yok. Bu tarz alanlar bizi zora sokmaz veri setinin o kısmını kendi kafamıza göre kurgulayarak düzenleyebiliriz.

Alanlardan eğitim durumuna gelecek olursak. Eğitim durumu Türkiye şartlarına göre örnek vermek gerekirse ilkokul, lise, üniversite gibi ikiden fazla ihtimal içerebilir. Peki bu durumda ne yaparız? Sonuç olarak biz bu verileri sayısal ifadelere çeviricez. Kafamıza göre id değeri versek mesela olabilir mi? İlk bakışta mantıklı geliyor değer vereyim değerleride not ederim oldu bitti. Fakat olmaz. Neden olmaz sorusunun cevabı gayet basittir. Algoritmalar oradaki tüm kolonlardaki sayıları işleme katar yani sizin kafanıza göre verdiğiniz id değeri yapacağınız hesaplamaları çok farklı yerlere götürerek sizi yanıltabilir. Yani bu sayılar birbirleri ile arasında ilişki kurmamalıdır!

Bu tarz veriler için veri tipleri hakkında daha detaylı bilgi isterseniz buradaki yazıdan ulaşabilirsiniz. Gayet güzel örnekler ile verilerin tipleri açıklanmış.

Peki bizim bu durumu çözmek için yapmamız gereken şey nedir? Bizim burada yapacağımız işlem dönüşümdür. Bu dönüşümü elektrikdeki entegreler gibi düşünebiliriz. Yani elimizde eğitim için 3 tip var farz edelim(ilkokul, lise, üniversite) bizim eğer 3 kapılı bir entegremiz olur ve her seferinde yanlızca bir tanesi giriş olacak şekilde kurarsak bu sorunu çözebiliriz. Aşağıdaki tablodan basitçe anlaşılabilir.

İlkokul Lise Üniversite
İlkokul 1 0 0
Lise 0 1 0
Üniversite 0 0 1

Yani eğitim kolonunu 3 kolonlu bir alana çevirmişiz gibi düşünebiliriz.

Peki bunları biz kendi kafamızdan mı yapıcaz bizim farklı 50 türümüzde olabilir tek tek bu şekilde tablo üzerinde mi uğraşacağız? Tabi ki hayır bunu python kütüphanelerinde bulunan sklearn içindeki LabelEncoder yardımı ile basitçe halledeceğiz. Bunun hakkında kodlamayı bir sonra ki yazıda anlatacağım.

Tarih:Makine Öğrenmesi

İlk Yorumu Siz Yapın

Bir cevap yazın

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