Skip to main content

Cross-Validation Nedir?

Literatürde k-fold cross validation (k katlamalı Çapraz doğrulama) olarak geçmektedir, makine öğrenme modellerinin başarılarının değerlendirilmesi için kullanılan bir yöntemdir. Bu yöntemde veri seti eğitim ve test seti olarak ayrılmaktadır bu işlem için seçilen yöntem modelin başarısını önemli ölçüde etkilemektedir. Bu yöntemlere örnek verecek olursak örneğin data setinin %70’i train %30’u test için kullanılsın, veya data setin ilk 700 tanesi train son 300 tanesi test için kullanılsın, başka bir yöntem olan stratified sampling yönteminde veri setindeki target value değerleri hem train hemde test  veri setinde eşit dağılıma sahip olacak şekilde dağıtıldığı yöntemdir bu yöntemde literatürde oldukça tercih edilmektedir.  Bizim bu makale kapsamında ele alacağımız yöntem ise eğitim ve test kümelerinin verilen k değeri kadar katlanarak değiştirilmesidir. Bu yöntem kullanılmadan önce bir k değeri set edilir bu değer genelde default 10 olarak verilmektedir. 

Aşağıda şekilde görüldüğü gibi veri setimiz 10 eşit parçaya bölünmüştür ve her seferinde test datası bir adım kayarak train edilmiş datanın aynı zamanda test içinde kullanılmasını sağlamaktadır. 1000 data point olduğu durumda her bir parça 100 elemandan oluşacaktır. 

Bu model sonucunda 10 farklı küme ile modeli çalıştırmış olacağız ve her bir işlemden ayrı ayrı 10 sonuç elde edeceğiz. Genel bir sonuç çıkarmak istediğimizde de bu sonuçların aritmetik ortalamasını alarak hata veya başarı metriği hakkında bilgi ediniriz, bu metrik accuracy veya error rate olabilir. Cross validation yöntemi genelde en çok tercih edilen yöntemlerin başında gelmektedir bu model ile tüm data üzerinde hem test hem train işlemi yaptığımız için model başarısı üzerinde etkili olacaktır.  Cross validation birden fazla train ve test bölme işlemi kullandığı için daha fazla hesaplama gücü gerektirir. 

Bir önceki yazımız olan One Hot Encoding Nedir - Nasıl Yapılır? başlıklı makalemizde bir sıcak kodlama nedir, kategorik verileri binary yapma ve kategorik verileri çevirme hakkında bilgiler verilmektedir.

Zeynep Küçük

Hi, I’m Zeynep I am studying in computer engineering in Samsun. I love to share and write about anything that interests me in tech, so welcome on my blog. I’d be really glad to get in touch with you! Don’t forget you can always contact me by email for any inquiries.Follow me on social media.

Bir cevap yazın

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.