Test Data
Test verileri, yeni verilerdeki performansı tahmin etmek için tüm eğitim ve ayarlama işlemlerinden sonra bir kez puanlanan, ayrılmış veri kümesidir. Bölmeleri, boyutlandırmayı, tuzakları ve kodu ele alır.
Test verileri; test kümesi veya ayırma kümesi olarak da adlandırılır ve tamamlanmış bir makine öğrenimi (ML) modelini değerlendirmek için ayrılan veri kümesi bölümüdür. Bu veriler, model ağırlıklarının uyarlanmasında veya mimari, hiperparametreler, kontrol noktası ya da güven eşiği gibi geliştirme kararlarının alınmasında hiçbir rol oynamaz; bu kararlar kesinleştikten sonra test verileri bir kez puanlanır. Model ve geliştiricileri test verilerine hiç uyum sağlamadığından, test verilerindeki doğruluk, duyarlılık veya ortalama kesinlik ortalaması (mAP), aynı dağılımdan gelen yeni verilerde modelin nasıl performans göstereceğine ilişkin tarafsız bir tahmindir. Ekipler, modelin dağıtıma hazır olup olmadığına karar vermek için bu sayıyı kullanır.
Eğitim, Doğrulama ve Test Bölmeleri#
Bir veri kümesi genellikle farklı görevleri olan ve birbiriyle örtüşmeyen üç bölüme ayrılır:
- Eğitim verileri: İyileştirici, kaybı azaltmak için ağırlıkları ayarlarken bu örneklerden öğrenir.
- Doğrulama verileri: Geliştirme sırasında hiperparametreleri karşılaştırmak, eğitimi erken durdurmak ve en iyi kontrol noktasını seçmek için tekrar tekrar puanlanır.
- Test verileri: Projenin değerlendirileceği metriği raporlamak için en sonda bir kez puanlanır.
Binlerce örnek içeren veri kümelerinde 80/10/10 veya 70/15/15 bölmeleri yaygındır; milyonlarca örnek içeren veri kümelerinde ise verilerin birkaç yüzdesi test için ayrılabilir. Bir test kümesinin ihtiyaç duyduğu boyut, gereken kesinliğe bağlıdır: n örnek üzerinde ölçülen p doğruluğunun standart hatası, p(1 − p)/n ifadesinin kareköküdür. Bu nedenle, %90 doğruluğa sahip 1.000 test görüntüsü yaklaşık ±1,9 yüzde puanlık %95 güven aralığı verir; 10.000 görüntüyle bu aralık yaklaşık ±0,6'ya iner. Adlandırma alanlara göre değişir ve pek çok makale nihai ImageNet sonuçlarını resmî doğrulama kümesinde raporlar; çünkü ImageNet test etiketleri herkese açık değildir. Ultralytics YOLO'da veri kümesi YAML dosyası train ve val yollarını zorunlu tutar ve isteğe bağlı bir test yolunu kabul eder. Eğitim, best.pt değerini seçmek için her dönemin ardından val puanını hesaplar; model.val(data="data.yaml", split="test") ise tamamlanmış modeli, doğrulama modunda test için ayrılmış görüntüler üzerinde puanlar.
Test Kümesi Neden Dokunulmadan Bırakılmalı?#
Bir puana bakarak alınan her karar, o veriye bir miktar uyum sağlar. Doğrulama kümesinde pek çok yapılandırma karşılaştırıldığında kazanan, kısmen de belirli örneklerde şanslı olduğu için öne çıkar; dolayısıyla doğrulama puanı, modelin başka verilerdeki performansını olduğundan yüksek gösterir. Aşağıdaki scikit-learn deneyi, küçük ve gürültülü bir veri kümesindeki k-en yakın komşu sınıflandırıcısı için en iyi komşu sayısını seçer ve kazananın doğrulama ile test doğruluğunu 30 rastgele veri kümesinde karşılaştırır:
import numpy as np
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
val_scores, test_scores = [], []
for seed in range(30):
# A small, noisy dataset split 60/20/20 into train, validation, and test
X, y = make_classification(n_samples=400, n_features=20, n_informative=4, flip_y=0.2, random_state=seed)
X_train, X_rest, y_train, y_rest = train_test_split(X, y, test_size=0.4, random_state=seed)
X_val, X_test, y_val, y_test = train_test_split(X_rest, y_rest, test_size=0.5, random_state=seed)
# Model selection: keep the neighbor count with the best validation accuracy
scores = {k: KNeighborsClassifier(k).fit(X_train, y_train).score(X_val, y_val) for k in range(1, 51)}
best_k = max(scores, key=scores.get)
val_scores.append(scores[best_k])
# The test set is scored once, after the choice is final
test_scores.append(KNeighborsClassifier(best_k).fit(X_train, y_train).score(X_test, y_test))
print(f"Chosen model, mean of 30 runs: validation {np.mean(val_scores):.3f}, test {np.mean(test_scores):.3f}")Seçilen modeller doğrulamada ortalama 0,805, testte ise 0,758 puan alır; yani 50 aday arasından seçim yapmak doğrulama tahminini yaklaşık beş puan şişirmiştir. Test kümesine göre ayar yapmak bu farkı gizler ve aynı iyimserliği raporlanan sonuca taşır; bu, bir tür veri sızıntısıdır. Herkese açık kıyaslama test etiketlerini saklayarak bu soruna karşı önlem alır: COCO test-dev sonuçları, tahminlerin bir değerlendirme sunucusuna gönderilmesiyle elde edilir. Büyük dil modellerinde (LLM'ler), web ölçeğindeki ön eğitim verilerinde bulunan test soruları kıyaslama verilerini kirletir; bu nedenle LiveCodeBench yeni yarışma problemleri eklemeyi sürdürür ve her modeli, eğitim kesim tarihinden sonra yayımlanan problemler üzerinde puanlar.
Güvenilir Bir Test Kümesi Oluşturma#
Bir test puanı, yalnızca test kümesi modelin karşılaşacağı verilere benzediğinde gerçek dünya performansını tahmin eder; bu veriler otonom araçlar için sokak sahneleri, tıbbi görüntü analizi içinse taramalar olabilir:
- Dağıtım koşullarını eşleştir: Kameralar, aydınlatma, mevsimler, coğrafya ve sınıf dengesi üretim ortamını yansıtmalı. Sürüşlerin çoğu açık havada geçse bile bir sürüş algılayıcısının test kümesinde gece, yağmur ve kar sahneleri bulunmalı.
- Bağımsız tut: Aynı videodan kareler, aynı hastanın taramaları ve aynı sahnenin fotoğrafları tek bir bölmede yer almalıdır. Zamana göre sıralı veriler tarihe göre bölünür; böylece model gelecekteki veriler üzerinde test edilir.
- Farklı kaynaklarda test et: Tıbbi görüntülemede, başka hastanelerden ve tarayıcı modellerinden alınan taramalarda yapılan dış doğrulama, modelin anatomiyi mi yoksa tek bir merkezin ekipmanını mı öğrendiğini gösterir.
- Etiketleri temizle: Test etiketlerindeki hatalar ölçülebilir doğruluğu sınırlar ve modellerin sıralamasını değiştirebilir; bu nedenle test etiketleri en dikkatli incelemeyi gerektirir.
- Alt grupları raporla: Sınıf ve koşul başına metrikler, tek bir ortalamanın gizlediği hataları ortaya çıkarır.
Dikkatle yeniden oluşturulmuş bir test kümesi bile sonuçları değiştirebilir: Araştırmacılar ImageNet test kümesini ilk veri toplama sürecini izleyerek yeniden oluşturduğunda, geniş bir model yelpazesinde doğruluk 11 ila 14 yüzde puanı düştü. Özgün test kümesindeki kazanımlar devam etti ve yazarlar düşüşü yıllarca aynı test kümesinin kullanılmasına değil, görüntülerin biraz daha zor olmasına bağladı.
Test Verileri ve İlgili Terimler#
- Çapraz doğrulama: Geliştirme verilerinin hangi bölümünün doğrulama verisi olarak kullanılacağını sırayla değiştirerek model seçimi için daha istikrarlı bir tahmin sağlar. Nihai sonucu elde etmek için yine ayrı bir test kümesi kullanılır.
- Kıyaslama veri kümesi: Araştırma alanında paylaşılan, herkese açık bir test kümesi. Her ekip bu kümede yıllarca değerlendirme yaptığından, zamanla görülmemiş veri olma niteliğini yitirir.
- Altın veri kümesi: Yanıtları doğrulanmış, özenle hazırlanmış ve yüksek kaliteli bir referans kümesi; genellikle LLM uygulamalarında regresyon testi için sabit bir test kümesi olarak kullanılır.










