Satırlar ayrı, öğrenilen ortalama ortak olabilir
Eğitim ve test dosyalarınız farklı. Aynı parça iki tarafta bulunmuyor ve hedef alanını da model girdisinden çıkardınız. Buna rağmen veri hazırlama kodu, boş hücreleri doldurmak için bütün dosyaların ortalamasını hesaplamış olabilir. Test verisi modelin kendisine doğrudan verilmeden de eğitim sürecini etkileyebilir. Öğrenilen bir dönüşümün hangi satırlardan bilgi aldığı bu yüzden ayrıca incelenmelidir.
Bu yazıda yedi sentetik kayıttan oluşan tek sayısal sütun kullanıyoruz. Değerler boyutsuz eğitim puanlarıdır; gerçek ölçüm veya üretim kararı değildir. Eğitim/test bölmesi önceden verilmiştir. Boşlar eksik değer olarak kalır; bu alıştırmada ortalama ile doldurma yöntemi yalnızca dönüşüm durumunu izlemek için seçilmiştir. Bu yöntemin gerçek probleme uygunluğu ayrıca değerlendirilmelidir.
| Kimlik | Bölüm | Gözlenen değer |
|---|---|---|
| E1 | Eğitim | 10 |
| E2 | Eğitim | 20 |
| E3 | Eğitim | 30 |
| E4 | Eğitim | Boş |
| T1 | Test | 100 |
| T2 | Test | 200 |
| T3 | Test | Boş |
scikit-learn, veri kümelerini ön işleme öncesinde ayırmayı ve öğrenilen dönüşümleri yalnız eğitim bölümünde fit etmeyi önerir. Test bölümünde aynı öğrenilmiş dönüşüm uygulanır; test verisi yeni bir parametre öğrenmek için kullanılmaz. Bu ilke, normalleştirme ve eksik değer doldurma gibi modelden önceki adımlar için de geçerlidir.Kaynak: scikit-learn — Common pitfalls and recommended practices
Doldurulan değer hangi kayıtlardan geldi?
Eğitim bölümündeki gözlenen sayılar 10, 20 ve 30’dur. Toplam 60, gözlem sayısı üç, ortalama 20 olur. E4 boş olduğu için bu ortalamanın payına veya paydasına sayı olarak eklenmez. Öğrenilen durum artık 20 değeridir. Hem E4 hem T3 için uygulanan doldurma işlemi aynı eğitim durumunu kullanır.
SimpleImputer ortalama stratejisinde bir sütunun eksik olmayan değerlerinden istatistik öğrenir ve eksikleri bu değerle doldurur. Öğrenme için hangi satırların verildiği sonuçta belirleyicidir. Buradaki sayıları scikit-learn çalıştırılmış model çıktısı diye sunmuyoruz; aritmetik ve dönüşüm beklentilerini açık bir referans olarak hazırlıyoruz.Kaynak: scikit-learn — SimpleImputer
| Yaklaşım | Öğrenmede kullanılan sayılar | Ortalama | Bu sözleşmede durum |
|---|---|---|---|
| Yalnız eğitim | 10, 20, 30 | 20 | Uygun |
| Eğitim ve test birlikte | 10, 20, 30, 100, 200 | 72 | Test bilgisi kullanıldı |
| Testte yeniden öğrenme | 100, 200 | 150 | Eğitim dönüşümü korunmadı |
Bütün verinin toplamı 360, gözlenen sayı adedi beştir; 360/5 = 72. Bu değer eğitim kısmındaki boşluğu bile testteki 100 ve 200’e bağlı hale getirir. Testte ayrı bir doldurucu öğrenmek ise 150 üretir. İki yanlış yaklaşım farklı sonuçlara gider, fakat ikisi de önceden tanımlanan eğitim durumunu testte yalnız uygulama kuralını bozar.
Fit kaydını transform kaydından ayırın
Eğitim E1=10, E2=20, E3=30, E4=boş; test T1=100, T2=200, T3=boş. Bölme sabit. Ortalama doldurma istatistiğini yalnız gözlenen eğitim değerlerinden öğren. Aynı istatistiği iki bölümde uygula; gözlenen değerleri değiştirme. Öğrenmeye giren kimlikleri, toplam/paydayı, dondurulan durumu ve doldurulan hücreleri göster. 72 ve 150 seçeneklerinin neden bu sözleşmeyi bozduğunu açıkla. Model başarısı veya gerçek eğitim çalıştırması iddia etme.
| Kimlik | Özgün değer | Dönüşmüş değer | Dayanak |
|---|---|---|---|
| E1 | 10 | 10 | Gözlem korundu |
| E2 | 20 | 20 | Gözlem korundu |
| E3 | 30 | 30 | Gözlem korundu |
| E4 | Boş | 20 | Eğitimden öğrenilen ortalama |
| T1 | 100 | 100 | Gözlem korundu |
| T2 | 200 | 200 | Gözlem korundu |
| T3 | Boş | 20 | Aynı eğitim durumu uygulandı |
Fit üyeleri: E1, E2, E3; toplam 60 / 3 = 20. E4 eksik olarak tanındı. Dondurulan doldurma değeri: 20. Değişen hücreler: E4 ve T3. Korunan gözlemler: E1/E2/E3/T1/T2. Testten fit sürecine katılan kayıt: 0. Bu tablo dönüşümü doğrular; tahmin kalitesi ölçmez.
Bir iş akışında öğrenilmiş doldurucu ile model birlikte sürümlenmelidir. Teste veya kullanıma yalnız model dosyası götürüp doldurucuyu yeniden öğrenmek aynı sistemi uygulamak değildir. Bu örnekte kaydedilecek durum küçük bir sayıdır; gerçek akışta çok sayıda sütun, kategori veya başka öğrenilmiş parametre bulunabilir. Hepsinin hangi eğitim bölmesine ait olduğu izlenmelidir.
Testi değiştirin, eğitim durumunu izleyin
Güçlü bir kontrol, yalnız test değerlerini değiştirip eğitimden öğrenilen ortalamanın aynı kaldığını sınamaktır. Eğitim verisi ve yöntem sabitse testteki 100 değerini 900 yapmanız 20 durumunu değiştirmemelidir. Değiştiriyorsa veri hazırlama zincirinde test bilgisi öğrenmeye karışıyor olabilir. Bu deneme, ham kaynak ile dönüşüm durumunun bağımlılığını doğrudan gösterir.
- Bölme kuralı ön işleme öğrenmesinden önce uygulanmış mı?
- Öğrenilen istatistiğin kaynak kimlikleri yalnız eğitim kümesinde mi?
- Testte yeni fit yerine aynı durum uygulanıyor mu?
- Boş ile gerçek sıfır farklı tanınıyor mu?
- Doldurulan hücrelerin özgün eksiklik bilgisi izlenebiliyor mu?
Ortalama ile doldurulan 20 gerçek ölçüm değildir. Raporunuz gözlenen değerlerle doldurulanları aynı kanıt düzeyinde sunmamalıdır. Kaynak boşluk bilgisini koruyun ve hangi yöntemin hangi hücreye uygulandığını yazın. Model girdisi için hazırlanan değer, sonradan ham gözlem tablosuna sessizce gerçek veri gibi taşınmamalıdır.
Çapraz doğrulama yapılıyorsa her eğitim parçası kendi dönüşüm durumunu öğrenir. Baştan bütün veride tek doldurucu öğrenip sonra katları ayırmak aynı sızıntı sorununu farklı bir düzeyde tekrarlar. Bu makaledeki sabit eğitim/test örneği katlı değerlendirmeyi çalıştırmaz; gerçek uygulamada bölme ve dönüşüm sırası o tasarıma göre ayrıca sınanır.
Yalnızca veri sızıntısını önlemek de yöntemi yeterli kılmaz. Eksikliğin nedeni, sütunun anlamı ve gelecekteki dağılım farklılıkları başka sorulardır. Bu kontrol, değerlendirme düzeninin bir parçasını doğrular. Testin temsil gücü veya modelin kullanıma uygunluğu hakkında tek başına onay üretmez.
İki farklı değişiklik yapın
İlk senaryoda sadece T1 değerini 900 yapın. İkinci, bağımsız senaryoda özgün tabloya dönüp eğitim kısmına E5=0 gözlemini ekleyin. Her senaryoda doğru doldurma değerini hesaplayın. Test değişikliği ile yeni eğitim gözleminin neden aynı etkiyi yapmadığını açıklayın.
Yalnız T1=900: eğitim durumu hâlâ 20; tüm gözlemlerden hesaplanan yanlış değer 1160/5=232 olurdu. Bağımsız E5=0 senaryosu: eğitim toplamı 60, gözlem sayısı 4; yeni durum 15. Gerçek sıfır öğrenme paydasına dahildir.
Kendi veri hazırlama akışınız için hangi satırların hangi parametreyi öğrettiğini gösteren kısa bir kayıt çıkarın. Yapay zekânın önerdiği ön işleme kodunu, sonuç tablosu kadar bu öğrenme izi üzerinden de değerlendirin.
Kaynaklar ve doğrulama
- scikit-learn — Common pitfalls and recommended practices
Veriyi önce ayırma; öğrenilen ön işleme durumunu yalnız eğitim verisinde fit ederek testte transform kullanma.
Erişim ve kontrol: - scikit-learn — SimpleImputer
Ortalama stratejisinde sütunun eksik olmayan değerlerinden öğrenilen istatistiği kullanma.
Erişim ve kontrol:
Üretimde Yapay Zekâ
Üretimde Yapay Zekâ programına modelden önceki veri hazırlama adımlarını da getirebilirsiniz. Bir dönüşümün hangi satırlardan öğrendiğini göstermek test sonucunun nasıl üretildiğini açıklamayı kolaylaştırır.
- Kuruma özel planlanır