Odkryłem, że He i Garcia (2009) są pomocnym przeglądem nauki w niezrównoważonych problemach klasowych. Oto kilka zdecydowanie niewyczerpujących kwestii do rozważenia:
Podejścia oparte na danych:
Można powtórzyć próbkę klasy większościowej lub przesłuchać klasę mniejszości. (Breiman zwrócił uwagę, że formalnie jest to równoważne z przypisaniem nierównomiernych kosztów błędnej klasyfikacji). Może to powodować problemy: niepełne próbkowanie może spowodować, że uczeń nie dostrzeże aspektów klasy większościowej; nadpróbkowanie zwiększa ryzyko nadmiernego dopasowania.
Istnieją metody „świadomego niepełnego próbkowania”, które zmniejszają te problemy. Jednym z nich jest EasyEnsemble , który niezależnie próbkuje kilka podzbiorów z klasy większości i tworzy wiele klasyfikatorów, łącząc każdy podzbiór ze wszystkimi danymi klasy mniejszości.
SMOTE (Synthetic Minority Oversampling Technique) lub SMOTEBoost, (łącząc SMOTE z boostingiem) tworzą syntetyczne wystąpienia klasy mniejszości, tworząc najbliższych sąsiadów w przestrzeni obiektów. SMOTE jest zaimplementowany w R w pakiecie DMwR (który towarzyszy książce Luisa Torgo „Data Mining with R, learning with case studies” CRC Press 2016 ).
Podejścia do modelowania
Zastosuj wagi specyficzne dla klasy w swojej funkcji straty (większe wagi w przypadkach mniejszości).
W przypadku podejść opartych na drzewach można użyć odległości Hellingera jako funkcji zanieczyszczenia węzłów, jak zalecono w Cieslak i in. „Drzewa decyzyjne odległości Hellingera są solidne i niewrażliwe na pochylenie” ( tutaj kod Weka ).
Użyj klasyfikatora jednej klasy , ucząc się (w zależności od modelu) gęstości prawdopodobieństwa lub granicy dla jednej klasy i traktując drugą klasę jako wartości odstające.
Oczywiście nie używaj dokładności jako miernika do budowy modelu. Kappa Cohena jest rozsądną alternatywą.
Podejścia do oceny modelu
Jeśli Twój model zwraca przewidywane prawdopodobieństwa lub inne wyniki, wybierz wartość odcięcia decyzji, która powoduje odpowiedni kompromis w zakresie błędów (przy użyciu zestawu danych niezależnego od szkolenia i testowania). W pakiecie R pakiet OptimalCutpoints implementuje szereg algorytmów, w tym wrażliwych na koszty, do decydowania o wartości granicznej.