Yeniden Örnekleme Yöntemleri: Çapraz Doğrulama ve Bootstrap
Basira Editör Ekibi · · 8 dk okuma · Güncellendi: 8 Ekim 2026
Bilimsel inceleme: Doç. Dr. Hasan Yıldırım ·
- #makine-ogrenmesi
- #capraz-dogrulama
- #model-degerlendirme
Anahtar çıkarımlar
- Yeniden örnekleme yöntemleri, bir modelin görmediği verideki başarısını eldeki veriyi tekrar tekrar bölerek tahmin eder; modeli iyileştirmez, başarısını ölçer.
- k-katlı çapraz doğrulama en yaygın yöntemdir; sınıflandırmada katmanlı, tekrarlı ölçümlerde gruplu, zaman serisinde zamana saygılı bölme kullanılır.
- Ayar araması ile başarı tahmini aynı katlarda yapılırsa tahmin iyimser olur; dürüst bir tahmin için iç içe çapraz doğrulama ya da hiç dokunulmamış bir test verisi gerekir.
- Değişken seçimi ve SMOTE gibi sınıf bilgisini kullanan adımlar her katın yalnızca eğitim kısmında yapılır; aksi hâlde sızıntı başarıyı olduğundan yüksek gösterir. Ölçekleme gibi adımlar da katın içinde öğrenilir.
İçindekiler
Yeniden örnekleme yöntemleri, bir makine öğrenmesi modelinin hiç görmediği verideki başarısını, eldeki veriyi tekrar tekrar bölerek tahmin eder. Model her seferinde verinin bir kısmında kurulur, ayrılan kısımda sınanır; sonuçlar birleştirilerek yeni verideki başarının bir tahmini elde edilir. Çapraz doğrulama ve bootstrap bu ailenin en bilinen iki üyesidir.
“Yeniden örnekleme” sözü makine öğrenmesinde ikinci bir anlamda da kullanılır: dengesiz sınıflarda seyrek sınıfı çoğaltmak ya da yaygın sınıfı azaltmak (ör. SMOTE). Bu yazı önce birinci anlamı, sonra ikincisinin birinciyle nasıl birlikte kullanılacağını anlatır.
Yeniden örnekleme yöntemleri nedir, neden gerekir?
Bir modelin, kurulduğu verideki başarısı iyimserdir: model o verinin gürültüsünü de öğrenmiş olabilir. Asıl soru, modelin yeni gözlemlerde ne kadar başarılı olacağıdır. Yeniden örnekleme iki işte kullanılır (Hastie vd., 2009):
- Model seçimi: Hangi algoritmanın ya da hangi ayarın (ör. ağaç derinliği, düzenlileştirme cezası) daha iyi olduğuna karar vermek.
- Model değerlendirmesi: Seçilen modelin yeni verideki başarısını tahmin etmek.
Yeniden örnekleme modeli iyileştirmez; başarısını ölçer. Daha iyi bir model, ancak bu ölçümle karşılaştırılan seçenekler arasından seçilerek elde edilir.
Başlıca yeniden örnekleme yöntemleri
Doğrulama kümesi (tek bölme)
Veri bir kez eğitim ve doğrulama (ya da test) olarak ayrılır; tipik oran yüzde 70–80 eğitim, yüzde 20–30 doğrulamadır. Hızlı ve anlaşılırdır, ama sonuç hangi gözlemlerin hangi tarafa düştüğüne bağlıdır: küçük veride iki farklı bölme belirgin biçimde farklı başarı verebilir. Model de verinin yalnızca bir kısmıyla kurulmuş olur.
Çapraz doğrulama
k-katlı çapraz doğrulama: Veri k eşit parçaya (kata) bölünür. Model k kez kurulur; her seferinde bir kat dışarıda bırakılır ve model o katta sınanır. Her gözlem tam bir kez test katında yer alır; başarı tahmini k sonucun ortalamasıdır. k = 5 ya da 10, yanlılık ile değişkenlik arasında iyi bir uzlaşma olarak önerilir (Hastie vd., 2009); Kohavi (1995), gerçek veri kümeleri üzerindeki geniş deneylerinde model seçimi için 10 katlı katmanlı çapraz doğrulamayı önermiştir.
Birini dışarıda bırak (LOOCV): k, gözlem sayısına eşittir; her seferinde tek bir gözlem test edilir. Neredeyse bütün veriyle kurulduğu için yanlılığı küçüktür, ama tahminin değişkenliği yüksek olabilir ve n kez model kurmak büyük veride pahalıdır. Her test katında tek gözlem bulunduğu için ROC AUC ve PR AUC gibi sıralamaya dayalı ölçütler kat başına hesaplanamaz; bu ölçütler kullanılacaksa (tekrarlı) katmanlı k-katlı çapraz doğrulama seçilir.
Katmanlı (tabakalı) k-katlı çapraz doğrulama: Her katta sınıf oranları bütün verideki oranlara olabildiğince yakın tutulur. Sınıflandırmada, özellikle sınıflardan biri seyrekse, varsayılan seçimdir; aksi hâlde bir katta seyrek sınıftan hiç gözlem bulunmayabilir.
Tekrarlı k-katlı çapraz doğrulama: k-katlı çapraz doğrulama, veri her seferinde farklı karıştırılarak birkaç kez tekrarlanır (ör. 10 kez 5 kat). Sonuç tek bir bölmenin şansına daha az bağlı kalır; küçük veride özellikle yararlıdır.
Gruplu çapraz doğrulama: Aynı kişiden ya da aynı kurumdan birden fazla satır varsa, bir grubun bütün satırları aynı katta tutulur. Aynı hastanın bir ölçümü eğitimde, öteki testte olursa model hastayı “tanır” ve başarı olduğundan yüksek görünür.
Zaman serisi bölmesi: Gözlemler zamana göre sıralıysa (ör. regresyonla tahmin edilen talep, fiyat ya da sensör verisi) test katı her zaman eğitim katından sonraki döneme ait olur: model önce ilk dönemlerle kurulup bir sonraki dönemde sınanır, sonra pencere ilerletilir. Rastgele karıştırmak geleceğin bilgisini eğitime sızdırır.
İç içe çapraz doğrulama
Ayar araması (hiperparametre ayarı) ile başarı tahmini aynı katlarda yapılırsa, seçilen ayar o katlarda şans eseri iyi sonuç verdiği için de seçilmiş olabilir; bulunan başarı iyimserdir (Varma ve Simon, 2006; Cawley ve Talbot, 2010). İç içe çapraz doğrulamada dış katlar yalnızca başarıyı tahmin eder; ayar araması her dış katın eğitim kısmında, ayrı bir iç çapraz doğrulamayla yapılır. Daha pahalıdır ama dürüst bir tahmin verir. Ucuz bir seçenek, en başta ayrılan ve ayar aramasında hiç kullanılmayan bir test verisidir.
Bootstrap
Bootstrap, n gözlemlik veriden yerine koyarak n gözlemlik yeni örneklemler çeker (Efron ve Tibshirani, 1993). Her bootstrap örneğinde gözlemlerin ortalama yaklaşık yüzde 63,2’si (büyük n’de 1 − 1/e) yer alır; geri kalan yüzde 36,8’i (torba dışı, out-of-bag) sınama için kullanılabilir. Torba dışı gözlemlerdeki hata kötümser olma eğilimindedir, çünkü model gözlemlerin yalnızca yaklaşık üçte ikisini görür; .632 tahmincisi bu hatayı eğitim hatasıyla ağırlıklı birleştirerek düzeltmeye çalışır. Model eğitim verisini ezberliyorsa (ör. 1-en yakın komşu) bu düzeltme yetersiz kalır; o durumda .632+ tahmincisi kullanılır (Hastie vd., 2009). Bootstrap, bir ölçütün güven aralığını kurmakta da kullanılır: test verisi tekrar tekrar yeniden örneklenir ve ölçütün dağılımının yüzdelikleri alınır.
Hangi yöntem hangi durumda?
| Durum | Uygun yöntem |
|---|---|
| Büyük veri, hızlı deneme | Tek bölme (doğrulama kümesi) |
| Genel amaçlı model karşılaştırma | 5 ya da 10 katlı çapraz doğrulama |
| Sınıflandırma, seyrek sınıf | Katmanlı (ve küçük veride tekrarlı) çapraz doğrulama |
| Aynı kişi ya da kurumdan çok satır | Gruplu çapraz doğrulama |
| Zamana göre sıralı veri | Zaman serisi bölmesi |
| Ayar araması + dürüst başarı tahmini | İç içe çapraz doğrulama ya da ayrı test verisi |
| Bir ölçütün güven aralığı | Bootstrap |
Sonuçlar nasıl değerlendirilir?
Çapraz doğrulamanın sonucu, katlardaki başarıların ortalaması ve standart sapmasıdır. Kat sonuçlarına bağımsız gözlemler gibi davranıp sıradan bir t güven aralığı kurmak yanıltır: eğitim katları büyük ölçüde aynı gözlemleri paylaştığı için kat sonuçları birbirine bağımlıdır ve aralık olduğundan dar çıkar. Nadeau ve Bengio (2003), kat sonuçlarının örneklem varyansını 1/J yerine (1/J + test/eğitim oranı) ile çarpan yaklaşık bir düzeltme önerir (J: kat sonucu sayısı, tekrarlı çapraz doğrulamada kat × tekrar); aralık böylece genişler. İki model karşılaştırılırken de iki model aynı katlarda sınanır ve farklar kat kat eşleştirilir.
Doğrulama bittikten sonra seçilen model bütün eğitim verisiyle yeniden kurulur. Ayrı bir test verisi varsa, model ve bütün ayarlar sabitlendikten sonra bu veride bir kez değerlendirilir; test sonucuna bakıp modeli değiştirmek, test verisini de bir doğrulama verisine çevirir.
Sınıf dengesizliği için yeniden örnekleme ve sızıntı
Sınıflardan biri seyrekse eğitim verisi yeniden örneklenebilir: yaygın sınıftan rastgele gözlem atmak (alt örnekleme), seyrek sınıfı rastgele çoğaltmak (üst örnekleme) ya da SMOTE ile seyrek sınıfa yapay gözlemler eklemek. SMOTE, seyrek sınıftan bir gözlem ile onun en yakın seyrek sınıf komşularından biri arasındaki doğru parçası üzerinde yeni bir nokta üretir (Chawla vd., 2002).
Bu adımın çapraz doğrulamayla birlikte kullanımında sık bir hata vardır: SMOTE bütün veriye uygulanır, sonra veri katlara bölünür. Bu durumda başarı olduğundan yüksek görünür (Santos vd., 2018) ve sızıntının iki yolu vardır: test gözlemlerinden türetilmiş yapay noktalar eğitim katlarına düşer, model test gözlemlerinin hemen yanında eğitilmiş olur; test katlarının kendisi de yapay noktalar içerir, model kısmen SMOTE’un ürettiği yapay noktalarda sınanır. Doğru yol, yeniden örneklemeyi her katın yalnızca eğitim kısmına uygulamaktır. Test katı ve son test verisi asla yeniden örneklenmez: model, gerçek sınıf oranlarıyla karşılaşacağı veride değerlendirilir. Aynı kural sınıf bilgisini kullanan her adım için kesindir: Hastie vd. (2009), değişken seçimini bütün veride yapıp sonra çapraz doğrulama uygulamanın, hiçbir bilgi taşımayan değişkenlerle bile yüksek başarı gösterebildiğini örnekler. Sınıf bilgisini kullanmayan adımların (ölçekleme, eksik değer doldurma) etkisi genellikle küçüktür, ama onlar da katın içinde öğrenilir.
Örnek: SMOTE çapraz doğrulamadan önce mi, sonra mı?
Bir tanı çalışmasında 120 kişinin 15’i hasta; her kişi için dört standartlaştırılmış laboratuvar ölçümü var (öğretici veri; yalnızca ikisi hastalıkla zayıf ilişkili olacak biçimde üretildi, hasta sütununda 1 = hasta). Bir k-en yakın komşu modelinin başarısı 10 kez tekrarlanan katmanlı 5 katlı çapraz doğrulamayla, test katlarındaki ROC AUC ortalaması olarak üç biçimde tahmin edildi: yeniden örnekleme olmadan, SMOTE yalnızca eğitim katlarında uygulanarak ve SMOTE bütün veriye katlara bölmeden önce uygulanarak. Her katta ölçekleme de yalnızca eğitim kısmından öğrenildi.
| olcum_a | olcum_b | olcum_c | olcum_d | hasta |
|---|---|---|---|---|
| 0.42 | -1.05 | -1.27 | 0.61 | 0 |
| -1.2 | -0.32 | -0.01 | -0.45 | 0 |
| -0.05 | 1.34 | -0.52 | -1.26 | 0 |
| -1.84 | -0.2 | -0.35 | 0.27 | 0 |
| -0.46 | -0.48 | -0.72 | -0.52 | 0 |
| 0.16 | -0.38 | 0.1 | 1.9 | 0 |
| 0.48 | -1.58 | 1.73 | 0.35 | 0 |
| -0.94 | 0.91 | 0.02 | -0.62 | 0 |
| -0.63 | -0.99 | 0.05 | 1.07 | 0 |
| 0.12 | 0.78 | 1.88 | -1.21 | 1 |
| 0.26 | -0.31 | -1.06 | -1.03 | 0 |
| -0.02 | 0.43 | -0.53 | 0.05 | 0 |
İlk 12 satır (toplam 120) · Bu örnekteki tüm sayılar scikit-learn 1.7.2 ile bağımsız olarak yeniden hesaplanır. Veriyi indirin (CSV)
| Yöntem | Ortalama ROC AUC |
|---|---|
| Yeniden örnekleme yok | .68 |
| SMOTE yalnızca eğitim katlarında (doğru) | .68 |
| SMOTE bütün veride, katlara bölmeden önce (sızdıran) | .91 |
Doğru uygulanan iki yol neredeyse aynı sonucu veriyor: model hastaları ancak orta düzeyde ayırt ediyor. SMOTE katlara bölmeden önce uygulandığında ise aynı model, aynı veriyle “mükemmele yakın” görünüyor. Aradaki fark modelin değil, sızıntının ürünüdür: test katlarındaki hastalardan türetilmiş yapay noktalar eğitime girmiş, en yakın komşu modeli test hastalarını bu noktalar sayesinde “tanımıştır”. Sızdıran yolda test katlarındaki hastaların çoğu da yapaydır; ölçüm yalnızca gerçek kişilerle yapıldığında bile AUC .85 çıkar. Bu modelden yeni kişilerde .91 değil, .68 dolayında bir ayırt etme başarısı beklenir; yalnızca 15 hastayla bu tahmin belirsizdir (yeniden örneklemesiz yol için Nadeau–Bengio düzeltmeli %95 aralığı .53–.84). Bu örnekte SMOTE doğru uygulandığında başarıyı artırmadı da; yeniden örnekleme bir başarı garantisi değildir ve sınıf ağırlıkları ya da eşik ayarıyla birlikte karşılaştırılarak seçilir.
Basira’da yeniden örnekleme
Basira’nın ML Stüdyosu’nda Sınıflandırma modülü her koşuda verinin bir kısmını en başta test için ayırır ve modelleri kalan eğitim verisinde çapraz doğrulamayla karşılaştırır. Akıllı Mod verinin yüzde 25’ini katmanlı olarak ayırır ve tekrarlı katmanlı 5 katlı çapraz doğrulama (3 tekrar) kullanır; eğitim verisi 150 satırın altındaysa tekrar sayısını 5’e, 100’ün altındaysa 10’a çıkarır; verinin tamamı 5000 satır ya da daha fazlaysa tek tekrara iner. Uzman Mod’da çapraz doğrulama yöntemini (Tabakalı K-Fold, K-Fold, Tekrarlı Tabakalı K-Fold, LOOCV, Group K-Fold, Zaman Serisi Bölme), kat ve tekrar sayısını ve test oranını kendiniz seçersiniz; LOOCV seçilecekse birincil ölçüt, tek gözlemlik katta da hesaplanabilen doğruluk gibi bir ölçüt olmalıdır. Modülde test verisi rastgele ayrılır (Group K-Fold’da gruba göre; ötekilerde katmanlı olarak ve satırlar karıştırılarak); bu yüzden “Zaman Serisi Bölme” seçeneği de geleceği geçmişten ayıran bir değerlendirme yapmaz. Zamana göre sıralı verilerde modülün test başarısı iyimser olabilir; zamana saygılı değerlendirme modül dışında yapılmalıdır. Dengesiz sınıflar için Tarif Oluşturucu’da SMOTE, ADASYN, rastgele üst örnekleme (arayüzde “Aşırı Örnekle”), rastgele alt örnekleme (“Eksik Örnekle”) ya da sınıf ağırlıkları (“Ağırlıklar”) seçilebilir. Akıllı Mod, azınlık sınıfı yüzde 30’un altındaysa sınıf ağırlıklarını kendiliğinden ekler; SMOTE’u ağırlıklardan ayrı denemek için Uzman Mod kullanılır; karma (kategorik ve sayısal) veriler için Uzman Mod’da SMOTE-NC vardır. Ölçekleme gibi hazırlık adımları ve yeniden örnekleme her katın yalnızca eğitim kısmında öğrenilir; test verisi yeniden örneklenmez. Ayar araması ve çapraz doğrulama aynı katları kullandığı için Basira’nın yöntem metni çapraz doğrulama sonuçlarının iyimser olduğunu belirtir ve genelleme başarısını ayrı tutulan test verisinden raporlar; lider tablosunda çapraz doğrulama ortalamalarının güven aralıkları Nadeau ve Bengio (2003) düzeltmesiyle verilir. ML Stüdyosu giriş yapmayı ve Akademik ya da daha üst bir planı gerektirir.
Sık sorulan sorular
k kaç olmalı?
Çoğu durumda 5 ya da 10. Küçük veride tekrarlı çapraz doğrulama, sonucun tek bir bölmenin şansına bağlılığını azaltır; çok büyük veride tek bir doğrulama kümesi yeterli olabilir.
Çapraz doğrulamadan sonra hangi model kullanılır?
Çapraz doğrulama bir modeli değil bir yöntemi (algoritma ve ayarlar) değerlendirir. Seçilen yöntem, bütün eğitim verisiyle yeniden kurulur ve bu model kullanılır.
SMOTE test verisine uygulanır mı?
Hayır. Yeniden örnekleme yalnızca eğitim verisine (çapraz doğrulamada her katın eğitim kısmına) uygulanır. Model, gerçek sınıf oranlarını taşıyan veride değerlendirilir.
Zaman serisinde neden veri karıştırılmaz?
Karıştırılırsa model, tahmin etmesi istenen dönemden sonraki gözlemlerle eğitilmiş olur. Gerçekte gelecek bilinmediği için başarı olduğundan yüksek görünür.
Bootstrap mı, çapraz doğrulama mı?
Kohavi (1995), bootstrap’ın değişkenliği düşük olsa da bazı veri kümelerinde çok büyük yanlılık gösterdiğini bulmuş ve model seçimi için 10 katlı katmanlı çapraz doğrulamayı önermiştir. Bootstrap, özellikle bir ölçütün güven aralığını kurmak ve torba dışı hata tahmini için kullanılır.
Kaynakça
- Cawley, G. C., & Talbot, N. L. C. (2010). On over-fitting in model selection and subsequent selection bias in performance evaluation. Journal of Machine Learning Research, 11, 2079–2107.
- Chawla, N. V., Bowyer, K. W., Hall, L. O., & Kegelmeyer, W. P. (2002). SMOTE: Synthetic minority over-sampling technique. Journal of Artificial Intelligence Research, 16, 321–357.
- Efron, B., & Tibshirani, R. J. (1993). An introduction to the bootstrap. Chapman & Hall.
- Hastie, T., Tibshirani, R., & Friedman, J. (2009). The elements of statistical learning: Data mining, inference, and prediction (2nd ed.). Springer.
- Kohavi, R. (1995). A study of cross-validation and bootstrap for accuracy estimation and model selection. In Proceedings of the 14th International Joint Conference on Artificial Intelligence (Vol. 2, pp. 1137–1143).
- Nadeau, C., & Bengio, Y. (2003). Inference for the generalization error. Machine Learning, 52(3), 239–281.
- Santos, M. S., Soares, J. P., Abreu, P. H., Araújo, H., & Santos, J. (2018). Cross-validation for imbalanced datasets: Avoiding overoptimistic and overfitting approaches. IEEE Computational Intelligence Magazine, 13(4), 59–76.
- Varma, S., & Simon, R. (2006). Bias in error estimation when using cross-validation for model selection. BMC Bioinformatics, 7, 91.
Analizinizi şimdi yapın
Basira’da kendiniz yapın
Verinizi yükleyin; Basira doğru testi önerir, varsayımları denetler ve sonucu raporlar.
Ücretsiz deneyinUzmanla çalışın
Tez ya da makaleniz için doktora düzeyinde uzmanlar analizinizi yapar veya denetler.
Uzmana danışınİlgili yazılar
Yapay Zeka
Makine Öğrenmesinde Sınıflandırma: Algoritmalar ve Ölçütler
Makine öğrenmesinde sınıflandırma, bir gözlemin sınıfını girdilerden tahmin eder. Yaygın algoritmalar, dengesiz veride değerlendirme ve çözümlü örnek.
Basira ·
Yapay Zeka
Boyut İndirgeme: PCA, t-SNE, UMAP ve Bileşen Sayısı
Boyut indirgeme, çok sayıda değişkeni daha az sayıda yeni değişkenle özetler. PCA'nın mantığı, bileşen sayısı, t-SNE ile UMAP'ın sınırları, çözümlü PCA örneği.
Basira ·
Yapay Zeka
Birliktelik Kuralları ve Ardışık Örüntüler Nedir?
Birliktelik kuralları birlikte görülen öğeleri bulur; ardışık örüntüler sırayı da hesaba katar. Destek, güven, kaldıraç, Apriori ve çözümlü örnek.
Basira ·