Tidymodels ile Modelleme ve Makine Öğrenmesi

Tidymodels, tidyverse ilkeleri kullanan modelleme ve makine öğrenmesi için paketler koleksiyonudur. Tidyverse ile ilgili yazdığım yazıya ulaşmak için tıklayınız.

Tidymodels paketler koleksiyonu bir veri bilimi projesi için gerekli olan veri ön işlemeden model seçimine kadar tüm aşamaları içerisinde barındıran paketlerden oluşmaktadır. Bu paketler kullanılarak popüler makine öğrenmesi algoritmaları veri setlerine uygulanabilir ve sonuçlar çok hızlı bir şekilde elde edilebilir.

RStudio çalışanlarından olan Max Kuhn ve arkadaşları tarafından önerilen tidymodels paketler koleksiyonu makine öğrenmesi alanında yıllarca tecrübesi olan ya da bu alanda yeni çalışmaya başlayan herkes için esnek ve tutarlı bir çerçeve sunmaktadır. Bu paketlerin içerisinde yer alan fonksiyonların söz dizimi oldukça basit ve anlaşılır olduğu için kullanımı çok kolaydır. Bu sayede makine öğrenmesi uygulamaları yapmak herkes için daha kolay bir duruma getirilmiştir.

Peki R programlama dilinde makine öğrenmesi uygulamaları yapmak için çok fazla paket olmasına rağmen tidymodels neden önerilmiştir? Çünkü R dilinde bu tür uygulamalar için çok fazla paket desteği olması bazı zorlukları da beraberinde getirmektedir. Örneğin; her bir makine öğrenmesi algoritması için farklı paketlerde yer alan fonksiyonların sözdizimleri de farklı olmaktadır. Dolayısıyla bu fonksiyonları doğru bir şekilde kullanmak ve fonksiyonların veri yapılarını birbirine uygun hale getirmek oldukça zahmetli ve zaman alan bir süreçtir. Dolayısıyla tidymodels paketler koleksiyonu bu süreci kısaltmakta ve tüm fonksiyonlar birbirleriyle etkileşimli bir şekilde çalışmaktadır.

Şimdi tidymodels paketler koleksiyonunda yer alan paketlere değinelim:

recipes paketi, bir makine öğrenmesi uygulaması yapabilmek için en çok zamanımızı alan aşamalardan birisi olan veri ön işleme için tasarlanmıştır. Veri ön işleme için gerekli olan kayıp gözlem giderme, aykırı değer analizi, veri dönüştürme ve veri indirgeme için en popüler yöntemlerle ilgili fonksiyonları içerisinde barındırır. Bu sayede veri ön işleme aşamasını çok daha hızlı yapabileceğimiz alternatif fonksiyonları bize sunmaktadır.

rsample paketi bir veri setini eğitim, test ve çapraz doğrulama setlerine ayırmak için gerekli olan fonksiyonları içermektedir. Ayrıca bir istatistiğin örnekleme dağılımını tahmin etmek için geleneksel yeniden örnekleme tekniklerine sahip fonksiyonlar da bulunmaktadır.

parsnip paketi, popüler makine öğrenmesi algoritmalarını içerisinde barındıran fonksiyonlardan oluşmaktadır. Bu paket, makine öğrenmesi yöntemleri için kullanılan diğer paketlerdeki fonksiyonları arka planda çalıştırır. Tabii, farklı yöntemler için birden fazla paket ve fonksiyon olduğundan dolayı bu fonksiyonların söz dizimlerini veya argümanlarını hatırlamak ve uygulamak çok zordur. Bu yüzden parsnip paketi sayesinde tek bir söz dizimine bağlı olarak bu algoritmalar veri setlerine uygulanabilir.

tune paketi, makine öğrenmesi algoritmaları için hiperparametre ayarlamasını kolaylaştırmaktadır. Makine öğrenmesi algoritmaları varsayılan değerleriyle iyi sonuç verebilir. Ancak bazı uygulamalarda – özellikle çalışılan verinin yapısına göre – bu durum değişiklik gösterebilir. Dolayısıyla algoritmaların hiperparametre değerlerini değiştirerek daha etkili modeller oluşturulabilir. tune paketi, hiperparametre ayarlaması için grid search (ızgara taraması) uygulayarak en doğru sonuçları listelememizi sağlar.

dials paketi bir çok model için ayarlanan parametreleri içerir. dials paketinde yer alan fonksiyonlar bu tür parametreler için değerleri oluşturur, simüle eder veya doğrulamak için nesneleri tanımlar.

workflows paketi, ön işlenmiş veri seti ve oluşturulan modeli birleştirmek için kullanılır. Böylece uygulanan analizde hata yapma ihtimalini oldukça azaltır. Özellikle algoritmalar için hiperparametre ayarlaması yapıldığında bu değerleri de listeler. Kısaca veri ön işleme aşamasında uygulanan yöntemler, uyguladığımız model ve bu modele ait hiperparametre değerleri de bize tek bir çıktı halinde sunulur.

broom paketi, modellerle ilgili temel bilgileri özetler. Bu pakette temel olarak kullanılan üç fonksiyon bulunmaktadır.

tidy() model bileşenleri hakkındaki bilgileri özetler.

glance() tüm model hakkında bilgi verir.

augment() bir veri setine gözlemler hakkında bilgi ekler.

yardstick paketi, modellerin performanslarını ölçebileceğimiz fonksiyonları içerir. Regresyon tabanlı çalışmalar için hata metrikleri ve sınıflandırma tabanlı çalışmalar için de ayrıca kriterleri içermektedir.

KAYNAKLAR

  • https://www.tidymodels.org/