Her örneğin neyi temsil ettiğini tanımlayın
Bir karar cümlesiyle başlayın: yeni bir talebin kategorisini tanımak, bir belgeden üç alan çıkarmak veya ekleriyle birlikte bir soruyu yanıtlamak. Tahmin anında mevcut olan girdiyi, beklenen çıktıyı ve kapsam dışı durumları tanımlayın. Talebin çözülmesinden sonra eklenen bir bilgi, talebin gelişini temsil etmesi gereken bir girdide yer almamalıdır.
Ardından satır ile bağımsız birimi ayırın. Bir konuşmanın beş mesajı bir bağlamı paylaşır; bir dosyanın on sayfası kökenini paylaşır. Amacınız yeni dosyalarla ilgiliyse, her dosyayı tek bir bölümde tutun. Kullanıcıya, belgeye, ekipmana veya döneme göre ayırma farklı soruları yanıtlar: gelecekteki kullanıma en çok benzeyeni seçin, sonra gerekçesini manifestoya yazın.
Teknik kaynaklar: scikit-learn 1.9 — gruplar ve zamansal bağımlılıklarla doğrulama
Her kümeye bir rol atayın
Eğitim kümesi model ayarlamalarına hizmet eder. Doğrulama kümesi geliştirme kararlarına rehberlik eder: prompt, eşik, hiperparametreler veya bir varyant seçimi. Nihai test ise zaten belirlenmiş bir soruyu yanıtlar. En iyi ayarı seçmek için ona bakmak, üzerinde hiç gradyan hesaplanmasa bile bu testi zamanla bir geliştirme aracına dönüştürür.
Bir dönüşümü öğrenmek için kullanılan verileri de ayırın. Tüm korpus üzerinde ayarlanan bir normalizasyon, değişken seçimi veya doldurma modele bilgi aktarabilir. Bu dönüşümleri izin verilen bölüm üzerinde öğrenin, sonra saklanan dönüşümü diğer kümelere uygulayın. Bir pipeline bu denetimi kolaylaştırır; tek başına yanlış ayrılmış grupları düzeltmez.
| Küme | İzin verilen kullanım | Kaçınılacak karar |
|---|---|---|
| Eğitim | Parametreleri ve öğrenilen dönüşümleri ayarlama | Nihai testin yanıtlarını buraya aktarma |
| Doğrulama | Ayarları, promptları ve eşikleri seçme | En iyi keşif skorunu bağımsız nihai sonuç olarak sunma |
| Nihai test | Seçilen yapılandırmayı sabitlenmiş kurala göre değerlendirme | Okuduktan sonra ayarları değiştirip aynı skoru doğrulama olarak yeniden kullanma |
| Olası kalibrasyon | Buna ihtiyaç duyan bir nicemleme yöntemi hazırlama | Değerlendirilen varyantı üretmek için son testi kullanın |
Teknik kaynaklar: scikit-learn 1.9 — veri sızıntısı ve dönüşümler
Zor vakaları silmeden kopyaları ele alın
Ham derlemi koruyun, ardından kimlik, kaynak ve grup içeren bir çalışma envanteri oluşturun. İçerik parmak izi, seçilen gösterime göre birebir kopyaları tespit eder. Bu gösterimi belgeleyin: tüm noktalama işaretlerini kaldırmak veya bir metni küçük harfe çevirmek, görev için farkı önemli olan girdileri birleştirebilir. Dışlanan kopya ile saklanan örnek arasındaki eşleşmeyi koruyun.
Yarı kopyalar ek bir inceleme gerektirir: değiştirilmiş dışa aktarım, yeniden ifade edilmiş yanıt, ortak pasaj veya yeniden düzenlenmiş belge. Yüksek benzerlik incelenecek bir sinyaldir, iki anotasyonun birbirinin yerine geçebileceğinin kanıtı değildir. Verileri paylaştırmadan önce birbiriyle ilişkili varyantları gruplayın. İki kopya çelişkili referanslar taşıyorsa bir anotasyon sorunu açın; modelin en iyi tahmin ettiğini otomatik olarak seçmeyin.
İşlenmiş örnek: 1.200 satır, 1.200 bağımsız gözlem değildir
Bu örnek tamamen açıklayıcıdır: hiçbir derlem veya model ölçülmemiştir. Her biri beş satır olarak dışa aktarılan 240 konuşma varsayalım. Her konuşmada bir satır birebir kopyadır; diğer dördü farklıdır. Bu 240 kopyayı çıkarmak geriye 960 örnek bırakır, hâlâ 240 grup halinde düzenlenmiştir. Aşağıdaki öğretici seçim, grupların %70'ini öğrenmeye, %15'ini doğrulamaya ve %15'ini teste ayırır.
168, 36 ve 36 konuşma elde edilir, yani 672, 144 ve 144 örnek. Satırlarda ve gruplarda oranların eşitliği burada konuşma başına dört örnekten gelir. Değişken boyutlu gerçek bir derlemde bu otomatik olmaz. Bu oranlar evrensel bir kural değildir: her kümede yeterince grup ve önemli vaka bırakmalıdır.
| Bölümleme | Tam konuşmalar | Örnekler | Rol |
|---|---|---|---|
| Eğitim | 168 | 672 | Ayarla |
| Doğrulama | 36 | 144 | Seç |
| Nihai test | 36 | 144 | Ayrı tutulan bir küme üzerinde doğrulayın |
Teknik kaynaklar: scikit-learn 1.9 — GroupShuffleSplit grupları sayar
Sınıfları, uzunlukları ve kronolojiyi doğrulayın
Bölme işleminden sonra, sınıfları ve bunları taşıyan grupları sayın. Çok sayıda satırda bulunan ancak tek bir konuşmada yer alan bir sınıf, çok fazla bağımsız örnek sunmaz. Ayrıca uzunlukları, gerçekte kapsanan dilleri, eksik belgeleri ve karar için önemli kategorileri inceleyin. Güven verici bir ortalama, kritik bir duruma ait hiçbir örnek içermeyen bir bölmeyi gizleyebilir.
Gruplarla yapılan bir katmanlama, grupları dağıtmadan sınıf oranlarını korumayı amaçlar. Gruplar az sayıda olduğunda veya çok dengesiz olduğunda mükemmel bir denge garanti etmez. Görev gelecekteki gözlemleri tahmin etmekse, kronolojik bir ayırma rastgele karıştırmadan daha uygun olabilir. Değişkenlerin tahmin tarihinde mevcut olup olmadığını da doğrulayın.
Teknik kaynaklar: scikit-learn 1.9 — StratifiedGroupKFold ve sınırları · scikit-learn 1.9 — zamansal veri doğrulaması
Bir çıktıyı değerlendirmek için referansı yeterince kesin hale getirin
Örnekler ve sınır durumları içeren bir anotasyon talimatı yazın. Bir çıkarım için, eksik bir alanın anlamını, tarihlerin biçimini, para birimini ve kabul edilen eşdeğerlikleri belirtin. Bir sınıflandırma için, kategoriler arasındaki sınırları tanımlayın. Referanstan farklı bir yanıt her zaman modelin hatası değildir: referans belirsiz veya yanlış olabilir.
Çeşitli bir seçkiyi, özellikle anlaşmazlıkları ve önemli durumları yeniden gözden geçirtin, ardından hakem kararını kayıt altına alın. Düzeltmeleri veri kümesinin yeni bir sürümünde saklayın. Bir düzeltme bir karşılaştırmanın sonucunu değiştiriyorsa, ilgili tüm varyantları aynı referans üzerinde yeniden hesaplayın; yalnızca tercih ettiğiniz modelin aleyhine olan satırı düzeltmeyin.
Değerlendirme paketini GPU kampanyasından önce üretin
Bu hazırlığın çıktısı, kurallarıyla birlikte tanımlanabilir bir kümedir. Veri seçimini bir notebook hatırasına bağlı kalmadan yeniden üretmeyi sağlar. Bu paketi kiralama öncesinde hazırlamak, hesaplama süresini dosya veya ölçüt farklılıklarını çözmekle harcamayı önler.
- Tanımlayıcıları, grupları, bölümlemeleri ve gerekçelerini sabitleyin; bunları üreten betiği veya listeyi saklayın.
- Bölümler arasındaki kimlik, grup ve parmak izi kesişimlerini doğrulayın. Beklenmeyen her kesişim açıklanmalı ya da düzeltilmelidir.
- Bölüm, sınıf ve yararlı alt gruba göre efektif sayıları, ayrıca dışlamaların listesini ve gerekçelerini dışa aktarın.
- Karşılaştırmadan önce referansı, normalizasyon kurallarını, ana metriği ve eşikleri sabitleyin.
- Sürümü, parmak izlerini, kullanım haklarını ve verilerin konumunu saklayın. Bir parmak izi kimliği sağlar, anonimliği değil.
- Nihai teste erişimi planlanan karara kadar sınırlayın; erişimleri ve protokol değişikliklerini bir günlükte tutun.
Kontrolün neyi kanıtladığını bilmek
Efektif sayılar envanterle uzlaştığında, örtüşmeler denetim altında olduğunda ve her çıktı açık bir kurala göre değerlendirilebildiğinde hazırlık kabul edilebilir. Bu, modelin başarılı olacağını ya da tüm gelecekteki kullanımların temsil edildiğini kanıtlamaz. Küçük bir küme belirli bir sorunu tanımlayabilir, ama nadir bir sınıf hakkında sonuç çıkarmak için yetersiz kalır.
Sistemi iyileştirmek için nihai testin hatalarını kullanırsanız, bu testi geçmiş olarak saklayın ve yeni bir bağımsız doğrulama hazırlayın. Orijinal verileri bilinmeyen bir ön eğitimli model için bölümünüz daha önce maruz kalmadığını garanti edemez. Kümeyi tamamen el değmemiş olarak nitelendirmek yerine bu sınırı belgeleyin.
Pratik sorular
Verilerin %20'si her zaman teste mi ayrılmalı?
Hayır. Yararlı oran bağımsız birimlerin sayısına ve kapsanacak durumlara bağlıdır. Grupları, önemli kategorileri ve beklenen sonucun hassasiyetini kontrol edin; tek başına bir yüzde bilgilendirici bir testi garanti etmez.
Farklı bir kimlik, kopyaları dışlamak için yeterli mi?
Hayır. İki dışa aktarım farklı kimliklere sahip olsa da aynı metni ya da aynı dosyanın varyantlarını içerebilir. İçeriği ve kaynağı kontrol edin, ardından ilişkili örnekleri gruplama kuralınıza uyan bölümde tutun.
Modeli hatalarıyla düzelttikten sonra testim yeniden kullanabilir miyim?
Geçmişi izlemek için saklayabilirsiniz, ancak geliştirmeye katılmıştır. Ayrı tutulan veriler üzerinde bir iyileşmeyi doğrulamak için yeni ve bağımsız bir küme kullanın ve her birinin rolünü açıkça belirtin.