Verilerinizi topladıktan ve gerekli durumlardan örnekleme yaptıktan sonra, verilerinizi eğitim gruplarına, doğrulama kümelerine ve test gruplarına bölmeniz gerekir.
Rastgele Bölme En İyi Yaklaşım Değilken
Çoğu makine öğrenimi sorunu için rastgele bölme en iyi yaklaşım olsa da her zaman doğru çözüm değildir. Örneğin, örneklerin doğal olarak benzer örnekler halinde gruplandırıldığı veri kümelerini düşünün.
Modelinizin, konuyu bir haber makalesinin metninden sınıflandırmasını istediğinizi varsayalım. Rastgele bölme neden sorun olur?
Şekil 1. Haber Hikayeleri Kümelenir.
Haberler, kümeler halinde görünür: Aynı konuyla ilgili birden fazla haber aynı anda yayınlanır. Bu nedenle, verileri rastgele bölersek test grubu ve eğitim grubu büyük olasılıkla aynı hikayeleri içerir. Aslında bu şekilde çalışmayacaktı, çünkü tüm hikayeler aynı anda geleceği için böyle bir ayrım yapmak çarpık olurdu.
Şekil 2. Rastgele bölme, bir kümeyi gruplar arasında böler ve sapmaya neden olur.
Bu sorunu çözmek için basit bir yaklaşım, verilerimizi hikayenin yayınlandığı zamana, yani muhtemelen hikayenin yayınlandığı güne göre bölmektir. Bu, aynı güne ait hikayelerin aynı bölüme yerleştirilmesini sağlar.
Şekil 3. Zamanı bölmek, kümelerin çoğunlukla aynı kümede olmasını sağlar.
On binlerce veya daha fazla haber söz konusu olduğunda yüzde, gün sayısına bölünür. Bunda bir sakınca yoktur; ancak bu hikayeler, haber döngüsünün iki gününe bölünmüştür. Alternatif olarak, herhangi bir çakışma olmadığından emin olmak için son verinizin belirli bir mesafedeki verilerini çıkarabilirsiniz. Örneğin, Nisan ayına ait haberlere yönelik eğitim verebilir ve ardından test grubu olarak Mayıs'ın ikinci haftasını kullanabilirsiniz. Böylece çakışmayı önleyen haftalar ortadan kalkmış olur.