MAKİNE ÖĞRENMESİ – 2: YAZILIM

Herkes İçin Yapay Zeka: Makine Öğrenimi Yazılımı

Makine öğrenmesi, diğer bir ismi Machine Learning (ML), önceki blog yazımızda giriş seviyesinde anlatıp gerekli kütüphaneleri yazılım araçlarımıza dahil etmiştik. Şimdi ise makine öğrenimini geri kalan kodlarımızı yazarak hedefimize ulaşmış olacağız. Önceki ML yazısına linkten erişebilirsiniz. (makine öğrenmesi)

Yapay zeka kodlarını yazabilmek için editörlere ihtiyacımız vardır. Genellikle Jupyter Notebook, Google Colab veya ileri düzeyde bir editör kullanmak için PyCharm IDE( Integrated Development Kit) gibi uygulamalara ihtiyaç duyulmaktadır. Bu blog yazımızında PyCharm kullanılacaktır. Yapay zekada veri önemli bir yere sahiptir.

Veri olmadan yapay zekayı net bir şekilde eğitmekle kalmayıp yapay zeka yanlış kararlar uygulayabilir. Bu yüzden database (veri tabanı ) veri ambarı gibi yerlerdeki verilen saf ve temiz olmasına eksik veri olmamasına dikkat edilmelidir. Eksik veriler varsa yapay zeka algoritmasına uygulanmaması gerekmektedir. Bu blog da yaşlara göre müzik stilini tahmin eden bir ML algoritması yazılacaktır. Bu veriler gerçeği yansıtmamaktadır. Ücretsiz bir şekilde bu veriler çekilmiştir.

Bölüm1 : Kütüphanelerin çalışma alanına dahil edilmesi ve veri analizi

Bölüm 1 de işe kütüphaneleri içeri alarak başlanmalı, çünkü bu kütüphaneler makine öğreniminde çokça kullanılmaktadır. Ayrıca makine öğrenmesini daha iyi anlayabilmek için matematik ve istatistik bilgileri gereklidir. Çünkü matematiği kullanıp yazılımını yazmaktayız. Verileri kolayca okuyabilmek için Pandas da bulunan dataframe fonksiyonuna ihtiyacımız vardır. İlk 5 verisini ve veriler eksik mi diye “print()” fonksiyonu ile kontrol ediyoruz. Aşağıda program çıktısı verilmektedir.

Bölüm 2: Veri inceleme eksik veri bulunması

Şekilde de görüldüğü üzere False yazdığı için buralarda veriler mevcuttur. Bu yüzden False yazmaktadır. Eğer ki bir boş veri ile karşılaşsaydı True yazacaktı, bu olayı unutmamak gerekmektedir.

Daha sonra yapay sinir ağları gibi ML de giriş çıkışlar mevcuttur. Amacı çıkışın ne türden olduğunu ve girişi vererek bunu yapay zekaya eğitime işlemi gerçekleştiriyoruz.

Bölüm 3: Makine öğrenmesi (ML) için ön hazırlık çalışması

Giriş ve çıkış verileri hazırlayıp nesnenin içinde hazır olup bu verileri test verisi 0.2 oranda bölerek giriş verisinin eğitimi, giriş verisinin testi çıkış verisinin eğitimi ve son olarak çıkış verisinin testini verilere bölmekteyiz.

Veriler hazırlandı. Şuanda eğitilecek modeller üzerinde çalışmalar yapılması gerekmektedir.

Şekil 4 : Model Hazırlanması

Model1 nesnesinin içine karar ağacı objesini çalıştırılmaktadır. Diğer yandan model2 nesnesinin içinde Support Vector Classifier (SVC) Türkçesi Destek vektör sınıflandırıcı objesini kullanarak model2 nesnesini oluşturulur.

Eğitilmesi için fit() fonksiyonuna ihtiyaç duyulmaktadır. İçine giriş ve çıkış verileri verilir. Buna göre yapay zekadan kendini eğitmesini beklenir . Sonra test verilerini verip yapay zekanın testine bakılır.

Yapay zekada başarı oranı önemlidir. Bu yüzden tahminden sonra doğruluk oranına bakılmalıdır.

Şekil 5: Başarı skorları üzerindeki kod ve çıktı

Karar ağaç sınıflandırma doğruluk oranı 1 ve SVC sınıflandırıcının 0.5 oranında yakaladık. Burada kullanılacak en iyi model karar sınıflandırma oldu.

Önemli :  Her sonuç böyle çıkmayacaktır . Bu verilerin dağılımına veriyi nasıl öğrendiğine ve diğer yan parametrelere bağlıdır. Farklı bir sorunda diğer sınıflandırıcılar daha iyi performans gösterebileceğini unutulmaması gerekmektedir.

Uygun verileri alıp bir ML algoritması sizde oluşturabilirsiniz.

Hukuk ve Bilişim Dergisi‘nin Yeni Platformunda Yeni Sayısına bağlantıdan ulaşabilirsiniz.

Serinin ilk yazısı Makine Öğrenimi – 1: Makine Öğrenmesi (Machine Learning) Nedir ? yazısına da bağlantıdan tıklayabilirsiniz.