Zatrzymaj wyciek danych, zanim się zacznie
Niedopuszczanie informacji testowych do trenowania
Zatrzymaj wyciek danych, zanim się zacznie to bezpłatna lekcja Data Science Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Data Science Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Data Science Academy zawiera 4 lekcji w sumie.
Cichy oszust
Przeciek danych występuje wtedy, gdy informacje testowe przedostają się do trenowania. Wyniki wyglądają świetnie, a potem załamują się w rzeczywistym świecie.
Dlaczego to wprowadza w błąd
Przeciek pozwala modelowi podejrzeć odpowiedzi, których nie powinien znać. Wynik testowy staje się fantazją, a nie prognozą przyszłej skuteczności.
Klasyczny błąd
Skalowanie lub uzupełnianie wartości w całym zbiorze przed podziałem powoduje przeciek. Wiersze testowe po cichu wpłynęły na statystyki wstępnego przetwarzania.
Dopasowuj tylko na zbiorze treningowym
Zawsze wykonuj fit transformatorów wyłącznie na danych treningowych. Średnią, skalowanie lub wartości uzupełniające wyznaczaj ze zbioru treningowego, nigdy testowego.
scaler.fit(X_train)Następnie przekształć oba zbiory
Po dopasowaniu do zbioru treningowego wystarczy użyć poznanych wartości do transform zbioru testowego. Dane testowe są przekształcane, ale nigdy nie są konsultowane.
X_train_s = scaler.transform(X_train)
X_test_s = scaler.transform(X_test)Uważaj na przeciek zmiennej docelowej
Bardziej podstępnym rodzajem jest przeciek zmiennej docelowej: cecha, która potajemnie zawiera odpowiedź, na przykład użycie znacznika zwrotu do przewidywania zwrotów.
Informacje z przyszłości też powodują przeciek
W danych czasowych użycie wartości zarejestrowanej po chwili wykonania predykcji powoduje przeciek informacji o przyszłości. Należy używać wyłącznie informacji dostępnych w chwili podejmowania decyzji.
Potoki zapewniają ochronę
Umieść wstępne przetwarzanie i model w obiekcie Pipeline. Ponownie dopasowuje on transformacje dla każdego foldu treningowego, automatycznie blokując przeciek.
from sklearn.pipeline import make_pipeline
pipe = make_pipeline(scaler, model)Bezpieczna walidacja krzyżowa
Przekaż cały potok do walidacji krzyżowej. Skalowanie jest wtedy uczone wewnątrz każdego foldu, więc żaden fold testowy nie ma wpływu na dopasowanie.
cross_val_score(pipe, X, y, cv=5)Uważaj na podejrzanie idealny wynik
Niemal idealny wynik to sygnał ostrzegawczy, a nie powód do dumy. Rzeczywiste problemy zawierają szum, dlatego przed świętowaniem należy to zbadać.
Złota zasada
Wszystko, czego model uczy się na podstawie danych, musi pochodzić wyłącznie ze zbioru treningowego. Zbiór testowy powinien pozostać zapieczętowany aż do końcowej, pojedynczej oceny. 🔒
Szybkie sprawdzenie
Skalujesz dane. Jak uniknąć przecieku?
Podsumowanie
Przeciek zawyża wyniki, ujawniając odpowiedzi. Dopasowuj transformacje wyłącznie na zbiorze treningowym, używaj obiektu Pipeline i trzymaj zbiór testowy pod pieczęcią. 🔒
Ucz się Python dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Zatrzymaj wyciek danych, zanim się zacznie” jest bezpłatna?
Tak — pełny tekst „Zatrzymaj wyciek danych, zanim się zacznie” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Data Science Academy, przejdź na CoddyKit PRO. Kurs Data Science Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Zatrzymaj wyciek danych, zanim się zacznie”?
Niedopuszczanie informacji testowych do trenowania Ćwiczysz Data Science Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Data Science Academy?
Nie wymagamy żadnego doświadczenia. Data Science Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Zatrzymaj wyciek danych, zanim się zacznie”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Data Science Academy?
Tak. Każda lekcja Data Science Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Dlaczego wydziela się zbiór testowy
- train_test_split we właściwy sposób
- Walidacja krzyżowa K-Fold
- Zatrzymaj wyciek danych, zanim się zacznie