Jeśli dobrze rozumiem, masz problem z klasyfikacją dwóch klas, gdzie klasa dodatnia (dopasowania) jest rzadka. Wielu klasyfikatorów boryka się z takim brakiem równowagi klas i powszechną praktyką jest podpróbkowanie klasy większościowej w celu uzyskania lepszej wydajności, więc odpowiedź na pierwsze pytanie brzmi „tak”. Jeśli jednak podpróbkujesz zbyt wiele, skończysz z klasyfikatorem, który przesadza z pozytywną klasą mniejszości, więc najlepiej jest wybrać proporcję podpróbkowania, aby zmaksymalizować wydajność, być może przez zminimalizowanie krzyżowania błąd sprawdzania poprawności, gdy dane testowe nie zostały poddane próbce cząstkowej, dzięki czemu uzyskuje się dobre wskazanie wydajności operacyjnej.
Jeśli masz klasyfikator probabilistyczny, który daje oszacowanie prawdopodobieństwa członkostwa w klasie, możesz przejść o jeden lepszy i przetworzyć dane wyjściowe, aby zrekompensować różnicę między częstotliwościami klasowymi w zestawie treningowym i podczas pracy. Podejrzewam, że w przypadku niektórych klasyfikatorów optymalnym podejściem jest optymalizacja zarówno współczynnika podpróbkowania, jak i korekcji na wyjściu poprzez optymalizację błędu weryfikacji krzyżowej.
Zamiast podpróbkowania, dla niektórych klasyfikatorów (np. SVM) można nadać różną wagę wzorcom dodatnim i ujemnym. Wolę to od podpróbkowania, ponieważ oznacza to, że nie ma zmienności wyników z powodu konkretnej zastosowanej podpróbki. Tam, gdzie nie jest to możliwe, użyj ładowania początkowego, aby utworzyć spakowany klasyfikator, w którym w każdej iteracji używana jest inna podpróbka większościowej klasy.
Inną rzeczą, którą powiedziałbym, jest to, że często tam, gdzie występuje duża nierównowaga klasy, fałszywe błędy ujemne i fałszywie dodatnie błędy nie są równie złe, i dobrze jest wbudować to w projekt klasyfikatora (który można osiągnąć przez sub wzorce próbkowania lub ważenia należące do każdej klasy).