Pracuję nad bardzo niezrównoważonymi danymi. W literaturze stosuje się kilka metod ponownego równoważenia danych za pomocą ponownego próbkowania (nadmiernego lub niepełnego próbkowania). Dwa dobre podejścia to:
SMOTE: TECHnique over-sampling syntetycznej mniejszości ( SMOTE )
ADASYN: Adaptacyjne syntetyczne podejście do próbkowania dla niezrównoważonego uczenia się ( ADASYN )
Wdrożyłem ADASYN, ponieważ ma charakter adaptacyjny i łatwość rozszerzenia na problemy wielu klas.
Moje pytanie brzmi: jak przetestować nadpróbkowane dane wygenerowane przez ADASYN (lub inne metody nadpróbkowania). We wspomnianych dwóch artykułach nie jest jasne, w jaki sposób przeprowadzili swoje eksperymenty. Istnieją dwa scenariusze:
1- Przekopiuj cały zestaw danych, a następnie podziel go na zestawy szkoleniowe i testowe (lub weryfikację krzyżową).
2- Po podzieleniu oryginalnego zestawu danych należy wykonać nadpróbkowanie tylko na zestawie szkoleniowym i przetestować na oryginalnym zestawie testowym danych (można to przeprowadzić z walidacją krzyżową).
W pierwszym przypadku wyniki są znacznie lepsze niż bez oversamplingu, ale martwię się, czy nie ma zbyt dużego dopasowania. Podczas gdy w drugim przypadku wyniki są nieco lepsze niż bez oversamplingu i znacznie gorsze niż w pierwszym przypadku. Drugi przypadek dotyczy jednak sytuacji, w której wszystkie próbki klasy mniejszościowe trafią do zestawu testowego, a nadpróbkowanie nie przyniesie żadnych korzyści.
Nie jestem pewien, czy istnieją jakieś inne ustawienia do testowania takich danych.
Druga (2) opcja to właściwy sposób na zrobienie tego. Próbki syntetyczne tworzone za pomocą technik nadpróbkowania nie są prawdziwymi przykładami, ale raczej syntetyczne. Nie są one ważne do celów testowych, podczas gdy nadal są odpowiednie do szkolenia. Mają one na celu zmianę zachowania klasyfikatora bez modyfikowania algorytmu.
źródło