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()
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)
Verimiz hazır olduktan sonra ilk başta LGBM sınıflandırma modeli kuralım.
lgbm = create_model('lightgbm')
İlk model çıktılarımızı aldıktan sonra LGBM modelini tune edelim.
tuned_lightgbm = tune_model('lightgbm')
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()
plot_model(tuned_lightgbm, plot = 'confusion_matrix')
predict_model(final_lgbm)
Ardından CV değerlerimizi görelim
plot_model(estimator = tuned_lightgbm, plot = 'learning')
plot_model(estimator = tuned_lightgbm, plot = 'auc')
Ş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')
plot_model(tuned_knn, plot='boundary')
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
Merhaba,
Bu kütüphane gerçekten çok kolaylık sağlıyor.
Faydalı bilgiler için teşekkür ederim.