Praktyczne kwestie
Zadbaj o odzyskanie potoku generowania danych. Załóżmy, że chcesz dodać funkcję, aby sprawdzić, jak wpłynie to na jakość modelu. W przypadku uczciwego eksperymentu Twoje zbiory danych powinny być identyczne – poza tą nową funkcją. Jeśli nie możesz wygenerować tych zbiorów danych, nie możesz utworzyć tych zbiorów danych.
W związku z tym upewnij się, że losowa kolejność w generowaniu danych może być określona:
- Generatory losowych liczb. Dzięki ustawieniu wartości wyjściowej RNG przy każdym odtworzeniu zbioru danych powoduje wyświetlenie tych samych wartości.
- Używaj kluczy szyfrowania niepowiązanych z kontem. Hashowanie to popularny sposób na podział lub próbkę danych. Możesz zahaszować każdy przykład i użyć powstałej liczby całkowitej do określenia, w którym miejscu ma zostać on podzielony. Dane wejściowe funkcji haszowania nie powinny się zmieniać za każdym razem, gdy uruchamiasz program generowania danych. Nie używaj w haszcie aktualnej godziny ani losowej liczby, np. gdy chcesz odtworzyć haszowanie na żądanie.
Powyższe metody mają zastosowanie zarówno do próbkowania, jak i do podziału danych.
Uwagi dotyczące szyfrowania
Wyobraź sobie, że zbierasz wyszukiwane hasła i używasz haszowania, aby je uwzględniać lub wykluczać. Jeśli klucz skrótu używa tylko zapytania, a dane z wielu dni będą zawsze uwzględnione, lub zawsze je wyklucz. Zawsze uwzględnianie lub wykluczanie zapytań jest niewłaściwe, ponieważ:
- Twój zestaw treningowy będzie miał nieco inny zestaw zapytań.
- Twoje zbiory do oceny będą sztuczne, ponieważ nie będą pokrywać się z danymi treningowymi. W czasie rzeczywistym w danych treningowych pojawiły się dane o ruchu na stronie, więc Twoja ocena powinna to odzwierciedlać.
W zapytaniach możesz użyć skrótu i daty, co mogłoby skutkować innym haszowaniem każdego dnia.