Birkaç Satır Kod ile Makine Öğrenmesi Modelleri: Pycaret

Makine Öğrenmesi dünyasının “Merhaba Dünya” verisi, şüphesiz İris ve Titanik verileridir. Bu alana ilgi duyan hemen hemen herkesin yollarının kesiştiği “İris” verisi üzerine, Pycaret kütüphanesini sizlerle beraber inceleyerek kısa bir blog yazısı yazmak istedim. Siz değerli okuyucularımla basit düzeyde 2 farklı model ile sınıflanma uygulaması yapmak istiyorum.

Kaggle Notebook’a bu link ile ulaşabilirsiniz.

Bildiğiniz üzere, geçmiş yıllarda Makine Öğrenmesi’nde yaşanan gelişmeler incelendiğinde “AutoML” yapabilen yeni teknolojilerin varlığı dikkat çekiyor.

İş hayatında bazı projeler vardır ki aylar hatta birkaç yıl sürebilir fakat iş biriminin hemen bir tahminleme modeline ihtiyacı olabilir ya da farklı bir hikayede incelersek, herkes/her birim bir çeşit makine öğrenmesi modeline ihtiyaç duyabilir ama herkesin ileri düzey kodlama bilgisi öğrenmesi beklenemez, bu o birim için efor kaybı anlamına gelebilir.

Bu yazımda sizlerle beraber “AutoML” yapabilen “pycaret” kütüphanesini tanıtmak istiyorum. R programlama dilinde bildiğiniz üzere ML modellerini geliştirebildiğimiz “caret” kütüphanesi vardır. R programlama dilinde yaptığım her projede/çalışmamda “caret” kütüphanesini kullanıyordum. Siz kıymetli okuyucularım arasında da muhakkak caret kütüphanesi üzerinden çeşitli modeller kuran arkadaşlarım olacaktır. “py”caret kütüphenesi, Python programında AutoML gibi çalışan, birer satır kodlarla regresyon ya da sınıflandırma modelleri kurabilmemize imkan sağlayan bir kütüphanedir. Ayrıca PowerBI gibi çeşitli programlarla entegrasyonunun olması sebebiyle İş Zekası/DWH/Analiz vs alanlarında da kullanımı mevcut ve yaygındır.

Hadi Biraz Kodlayalım.

Verimizi Kaggle’dan alalım. Çalışmada kullanılan kütüphaneler,

import pandas as pd
import numpy as np
import warnings
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="white", color_codes=True)

iris = pd.read_csv("/kaggle/input/iris/Iris.csv") 
warnings.filterwarnings("ignore")

Kütüphanelerimi import ettikten sonra pycaret kütüphanemizi indirelim.

!pip install pycaret
from pycaret.classification import * # Sınıflandırma modeli için gerekli
iris.drop("Id",axis = 1, inplace = True)
iris.head()
Şekil-1: İris verisi ilk 5 satır

Veri setimizi %75 eğitim, %25 test verimiz olarak ayıralım.

msk = np.random.rand(len(iris)) < 0.75
train = iris[msk]
test = iris[~msk]

train = train.reset_index(drop=True)
test = test.reset_index(drop=True)

Verimizi böldükten sonra pycaret’in okuyabilmesi için verimizi istenilen şekilde programa tanıtalım. Tanıtırken, uç değerleri sil gibi çeşitli bilgileri de verelim.

clf1 = setup(data = train, 
             target = "Species",
             silent = True,
             remove_outliers = True,
             feature_selection = True)
Şekil-2: Pycaret’in veri üzerindeki bulguları ve çeşitli özellikleri

Verimiz hazır olduktan sonra ilk başta LGBM sınıflandırma modeli kuralım.

lgbm  = create_model('lightgbm') 
Şekil-3: LGBM Sınıflandırma Modeli Sonuçları

İlk model çıktılarımızı aldıktan sonra LGBM modelini tune edelim.

tuned_lightgbm = tune_model('lightgbm')
Şekil-4: Tune edilmiş LGBM model sonuçları

Ardından test verimiz ile tahminlerimizi alalım ve başarımıza bakalım.

pred_lgbm = predict_model(tuned_lightgbm, data=test)
final_lgbm = finalize_model(tuned_lightgbm)
pred_lgbm['preds'] = pred_lgbm['Label']
pred_lgbm.head()
Şekil-5: Tahmin sonuçları
plot_model(tuned_lightgbm, plot = 'confusion_matrix')
Şekil-6: LGBM – Confusion Matrix
predict_model(final_lgbm)
Şekil-7: Final LGBM model sonuçları

Ardından CV değerlerimizi görelim

plot_model(estimator = tuned_lightgbm, plot = 'learning')
Şekil-8: Öğrenim Eğrisi
plot_model(estimator = tuned_lightgbm, plot = 'auc')
Şekil-9: AUC eğrisi

Şimdi de KNN sınıflandırma modeli kuralım..

knn = create_model('knn')
tuned_knn = tune_model('knn')
final_knn = finalize_model(tuned_knn)
plot_model(tuned_knn, plot = 'confusion_matrix')
Şekil-10: KNN Modeli Confusion Matrix
plot_model(tuned_knn, plot='boundary')
Şekil-11: KNN model tahminleri

Yukarıda örneklerini açıkladığım kütüphane ile sizler basit düzeyde ve hızlıca modeller kurabilirsiniz. Veri bilimi dünyasının “Merhaba Dünya”’sı sayılan iris verisi ile sınıflandırma çalışmasını beraber yapmış olduk.

Günümüzde daha önce de belirttiğim gibi AutoML ya da Low Code-No Code gibi platformların ya da teknolojilerin arttığını ve eğilimin bu yönde olduğunu görüyoruz. Pycaret kütüphanesi ile çeşitli regresyon ve sınıflandırma modelleri kurulabilmektedir. Çok basit düzeyde kod yazarak farklı modeller kurulabilmektedir pycaret yardımıyla. Bu sebeple ileri düzey kod yazmayı bileyen kişiler için hayat kurtarıcı bir kütüphaneyi sizlere tanıtmak istedim.

Lütfen siz de bildiğin pycaret gibi kütüphaneleri, teknolojileri ya da platformları aşağıda yorum olarak belirterek içeriğe katkıda bulunmanızı temenni ediyorum. Örneğin; mlbox, pycaret…

Saygılarımla,

Varsayımlarınızın sağlanması dileğiyle,
Veri ile kalın, Hoşça kalın…

UTKU KUBİLAY ÇINAR

Yazar Hakkında
Toplam 20 yazı
Utku Kubilay ÇINAR
Utku Kubilay ÇINAR
YTÜ - Doktora - Veri Bilimi - Doğuş Teknoloji - Data Scientist
Yorumlar (Yorum yapılmamış)

Bir cevap yazın

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

×

Bir Şeyler Ara