Czy jednocześnie przekształcam wszystkie moje dane lub foldery (jeśli zastosowano CV)? na przykład
(allData - mean(allData)) / sd(allData)
Czy osobno przekształcam skład zestawu i zestaw testowy? na przykład
(trainData - mean(trainData)) / sd(trainData)
(testData - mean(testData)) / sd(testData)
Czy też przekształcam skład zestawu i korzystam z obliczeń na zestawie testów? na przykład
(trainData - mean(trainData)) / sd(trainData)
(testData - mean(trainData)) / sd(trainData)
Uważam, że 3 to właściwa droga. Jeśli 3 jest poprawne, muszę się martwić, że średnia nie będzie wynosić 0 lub że zakres nie będzie wynosił między [0; 1] lub [-1; 1] (normalizacja) zestawu testowego?
R
? Zobacz to pytanie: stackoverflow.com/questions/49260862/...Odpowiedzi:
Trzeci sposób jest prawidłowy. Dokładnie dlaczego szczegółowo opisano to w elementach uczenia statystycznego , patrz sekcja „Niewłaściwy i właściwy sposób przeprowadzania walidacji krzyżowej”, a także w ostatnim rozdziale „ Uczenia się z danych” na przykładzie giełdy.
Zasadniczo procedury 1 i 2 ujawniają informacje o reakcji lub z przyszłości, z zestawu danych do szkolenia lub oceny modelu. Może to powodować znaczne uprzedzenia optymistyczne w ocenie modelu.
Ideą podczas walidacji modelu jest naśladowanie sytuacji, w której byłby Pan, gdy model podejmuje decyzje produkcyjne, gdy nie masz dostępu do prawdziwej odpowiedzi. Konsekwencją jest to, że nie można użyć odpowiedzi w zestawie testowym do niczego poza porównywaniem z przewidywanymi wartościami.
Innym sposobem podejścia jest wyobrażenie sobie, że masz dostęp tylko do jednego punktu danych z wyciągu na raz (typowa sytuacja dla modeli produkcyjnych). Wszystko, czego nie możesz zrobić przy takim założeniu, powinieneś podejrzewać. Oczywiście, jedną rzeczą, której nie można zrobić, jest agregacja wszystkich nowych punktów danych w przeszłości i przyszłości, aby znormalizować strumień produkcyjny danych - więc to samo w przypadku sprawdzania poprawności modelu jest nieprawidłowe.
Nie musisz się martwić, że średnia wartość zestawu testowego jest różna od zera, jest to lepsza sytuacja niż poprawianie szacunkowych wyników. Chociaż oczywiście, jeśli test jest naprawdę sporządzony z tego samego podstawowego rozkładu co twój pociąg (podstawowe założenie w nauce statystycznej), wspomniana średnia powinna wynosić w przybliżeniu zero.
źródło
Clearly, one thing you cannot do is aggregate over all new data-points past and future to normalize your production stream of data
. Dlaczego nie?