IMDB Verilerinin Sınıflandırılması : İkili Sınıflandırma

ikili sınıflandırma

Herkese merhaba, bu yazımda sizler ile biraz daha derin öğrenme temellerine ineceğiz. Hatta sizlerle öyle bir çalışma yapmak ki, elimizdeki veri seti ile veri ön hazırlık yapmak tutun eğitim eğitimi kadar birlikte uzun soluklu bir serüven geçireceğiz. İkili sınıflandırma hakkında daha önceden bilgi sahibi olun buyurun yolumuza devam edelim. Fakat daha önceden ilgilenmediniz veya aklınıza takılan ufak sorularınız varsa mutlaka bıraktığım bağlantıyı incelemenizi tavsiye ederim. Bugün inceleyeceğimiz veri setinin ikili sınıflandırma problemi olarak tanınmasının sebebi elimizde iki adet sınıfın (olumlu, olumsuz) mevcut olmanın kaynaklandığı.

Sınıflandırma yapılırken iyi anlamlandırmak önemlidir. Bir işe başlamakdan önce mutlaka verinizi iyi incelemeniz çalışır. Keras kütüphanesinin IMDB veri setini Python programlama dilinde çalışarak birlikte kodlayacağız. Bu projem için ise Jupyter yerine Google ‘in bizlere olanak olarak sunmaktadır Colab’ ücretsiz versiyonundan yararlanacağım. Jupyter notebook kullanarak bu platform çok sıcak gelecektir. Colab Notebook incelelerinize bir tık ile ilgili.

Kullanılacak veri setimiz toplam 50.000 adet veri taşıyabilir.Gelin işe görselde göreceğiniz gibi bir dizüstü bilgisayardarak Keras kütüphanesinden veri setini içe aktarmayı başlayalım. Önce elde edilen bu veri kümesi için eğitim ve test kullanır.

Peki sizce neden veri kümesini sadece eğitim ekibi olarak kullanmıyoruz? Çünkü eğittiğiniz testi doğru sonuçları verip vermediğini test edin. Eğer ki eğitiminizin eğitim testiyle testi deneyin kalkarsanız bu pek doğru bir yöntem olmaz. Çünkü makineye hiç öğrenmediği bir şey gösterdiğinizde kafası karışacak ve afallayacaktır. Bunu tıpkı bir insanın sınavlara ezber yaparak girmesi gibi düşünebilirsiniz. Sadece verilen problemleri ezberimizdede sınavda farklı bir problem karşınıza çıkacaktır şaşar kalırsınız. Çünkü ezberlemek iyi bir yöntem değildir. Gerçek hayatta olduğu gibi tabiki biz de makinelerin ezberlemesinden yana değiliz. Üstelik bu aşırı sığdırma (aşırı öğrenme / ezberleme) sorunlu aşımı için çok fazla yöntem sunulmuşken bu durumun devam etmesini elbette istemeyiz!

Filmden yola çıkarak olumlu veya olumsuz sınıflandırmayı yapmayaız. Okuduğum notlara göre ise IMDB veri seti ilk yüklemede yaklaşık 80 MB veri indirdiği için gerekli hızına, CPU veya GPU şartlarına göre değişecektir. Sabırla bekliyoruziz ✨

Verilerin da söylediğim gibi veri setini tanımak çok önemlidir. Bu sebeple 50.000 veride 25.000 eğitim ve 25.000 test kuruldu olacak şekilde ayrılmıştır. % 50 olumlu ve% 50 olumlu veri içerir. Bu odada göz önünde bulunurarak devam edelim.

load_data metodu ile veri setimizi yüklerken dikkat ettiyseniz NUM_WORDS parametresi içermektedir. Bu parametre, en sık kullanılan kelimelerin kullanılması tutmaktadır.

train_data film içeriğini barındıran liste değişkeninin görünümü

0 ve 1 ‘lerden oluşan liste değişkeni – 1 olumlu veri

0 ve 1 ‘lerden oluşan liste değişkeni – 0 olumsuz veri

Fotoğraflar görüntülemeler kodlama 0. eğitim ve test verilerinin altında temsil edilmektedir. 0. indis yerine tıklayınız 500. verinin listesini yazdırmayın istendiğinde aşağıdaki gibi sonuçlanacaktır.

Şimdi ufak bir veri sınıflandırması yapacakız. 15.000 olarak parametre parametresi için bir döngü döngüsü içindir.

Maksimum iterasyonuyla Python ‘a özgü yöntem ile belirtebilirsiniz. Bu yüzden 15.000 sınır aşılmayacaktır.

kelimeDonustur değişkeni oluşturularak yapılandeki indislidir kelimelere yeniden dönüştürülür. Veriler üzerinde ufak işlemlere tekrar devam edelim.

kelimeDonustur değişkeni içerisinde dikkat ettiyseniz indis değerleri 3′ er 3′ er atlatılarak alınmıştır. Sebebi ise 0, 1 ve 2 indisleri gereksiz verileri kodlamak için ayrıştırılmıştır.

Diğer yazılarıma buradan ulaşabilirsiniz.

 

 

REFERANSLAR

https://en.wikipedia.org/wiki/Binary_classification

https://keras.io/api/datasets/imdb/

https://colab.research.google.com/notebooks/intro.ipynb

https://www.tensorflow.org/api_docs/python/tf/keras/datasets/imdb/load_data

https://books.google.com.tr/books?id=ouVcDwAAQBAJ&pg=PT129&lpg=PT129&dq=decoded_review+python&source=bl&ots=3Yt-W0QOM4&sig=ACfU3U3YAwXNQ_Eph3ojY5rz2hfx8EZBkg&hl=en&sa=X&ved=2ahUKEwiiqp-inb7qAhVm1qYKHciqC2cQ6AEwAnoECAkQAQ#v=onepage&q=decoded_review%20python&f=false

Leave a Reply

Your email address will not be published. Required fields are marked *