PyCaret ile Kolay Machine Learning

Medium’da şu yazı önerildi ve gerçekten iyi bir kütüphane ile tanışmış oldum: https://towardsdatascience.com/pycaret-better-machine-learning-with-python-58b202806d1e

Yazı bahsedilenden çok daha fazlası olan PyCaret’ı anlatmaya başlayalım.

PyCaret temelde çeşitli python makine öğrenmesi kütüphanelerini kolayca kullanmamıza olanak sağlamak için geliştirilmiş bir kütüphane. Kütüphanelerle ortak da çalışabiliyor ve kendi başına oldukça başarılı çalışabilmekte.

Örnek olarak veriyi Pycaret’ın kullanabileceği hale getirmek için:

data_1=setup(data=data,target="Type")

Direkt olarak targetımızı belirtebiliyoruz. Ardından train test split işlemini gerçekleştirmek için setup’a train_size eklememiz gerekli.

data_1=setup(data=data,target="Type",train_size = 0.8)

Ardından direkt olarak classification araçlarımızı verimiz üzerinde kullanabiliriz:

best_model=compare_models()

Gördüğünüz gibi RapidMiner gibi programlardan alışık olduğumuz bir çıktı ile karşılaşmaktayız ancak model de Python kernelimizin içinde.

Sonuçları görmemiz için çeşitli plotlar ve fonksiyonlar mevcut. Örnek olarak confusion matrix’i şu şekilde ortaya çıkarabiliriz:

plot_model(best_model,"confusion_matrix")

Görüldüğü üzere görüntüsü oldukça hoş bir confusion matrix üretiliyor. Aynı şekilde Roc Curve, Precision- Recall gibi plotlar da çizdirilebilmekte.

Preprocessing (Setup) aşamasına geri dönecek olursak normalization yapmak için:

data_2=setup(data=data,target="Type",train_size = 0.8,normalize=True)

Aynı şekilde normalization metoduna değiştirerek sonuçlara etki etmeniz de mümkündür. Varsayılan olarak Z-score’u kullanmaktadır.

İmbalanced veri setleri için oversampling, undersampling gibi işlemler de yapılabilmektedir. Şöyleki:

data_2=setup(data=data,target="Type"
,train_size = 0.8,fix_imbalance=True)

Belirtilen şekilde SMOTE metodu ile Oversampling yapılmaktadır. Başka metodlar kullanmak için:

import imblearn data_2=setup(data=data,target="Type"
,train_size = 0.8,fix_imbalance=True
,fix_imbalance_method=imblearn.over_sampling.BorderlineSMOTE())

imblearn metodları veya fit_resample metodu olan herhangi bir class ile işlemler yapılabilir.

PyCaret gerçekten kullanılabilir bir kütüphane olarak dikkat çekiyor. Hızlı sonuçlar alınabilmesi ve özelleştirilmesi gerçekten öne çıkıyor.

Originally published at http://anilkaynr.wordpress.com on August 4, 2020.

Computer Engineer,Sociologist, CSE Master Student

Computer Engineer,Sociologist, CSE Master Student