Krótki przewodnik po szkoleniu wysoce niezrównoważonych zestawów danych

29

Mam problem z klasyfikacją około 1000 pozytywnych i 10000 negatywnych próbek w zestawie treningowym. Tak więc ten zestaw danych jest dość niezrównoważony. Zwykły losowy las próbuje tylko oznaczyć wszystkie próbki testowe jako klasę większości.

Oto kilka dobrych odpowiedzi na temat podpróbkowania i ważonego losowego lasu: Jakie są implikacje dla szkolenia zespołu drzew z bardzo stronniczymi zestawami danych?

Jakie metody klasyfikacji oprócz RF mogą najlepiej poradzić sobie z problemem?

IharS
źródło
Zobacz także stats.stackexchange.com/q/247871/232706
Ben Reiniger

Odpowiedzi:

19
  • Max Kuhn omawia to dobrze w Ch16 Applied Predictive Modeling .
  • Jak wspomniano w powiązanym wątku, niezrównoważone dane to w zasadzie problem szkoleniowy wrażliwy na koszty. W związku z tym każde podejście wrażliwe na koszty ma zastosowanie do niezrównoważonych danych.
  • Istnieje wiele takich podejść. Nie wszystkie zaimplementowane w R: C50, ważone maszyny SVM są opcjami. Jous-boost. Myślę, że Rusboost jest dostępny tylko jako kod Matlab.
  • Nie używam Weki, ale wierzę, że ma dużą liczbę klasyfikatorów wrażliwych na koszty.
  • Postępowanie w przypadku niezrównoważonych zestawów danych: recenzja : Sotiris Kotsiantis, Dimitris Kanellopoulos, Panayiotis Pintelas ”
  • Problem nierównowagi klasowej : Xinjian Guo, Yilong Yin, Cailing Dong, Gongping Yang, Guangtong Zhou
Charles
źródło
16

Niedoszacowanie klasy większościowej jest zazwyczaj sposobem na osiągnięcie takich sytuacji.

Jeśli uważasz, że masz za mało instancji klasy dodatniej, możesz wykonać nadpróbkowanie, na przykład przykładowe instancje 5n z zamianą z zestawu danych o rozmiarze n.

Ostrzeżenia:

  • Niektóre metody mogą być wrażliwe na zmiany w rozkładzie klas, np. W przypadku Naive Bayes - wpływa to na wcześniejsze prawdopodobieństwa.
  • Nadmierne próbkowanie może prowadzić do przeregulowania
Aleksiej Grigoriew
źródło
A może wypróbuj algorytm grupowania i skorzystaj z centrów klastrów?
Leela Prabhu
Możesz sprawdzić ten link pod kątem nadpróbkowania i innych metod radzenia sobie z niezrównoważonymi zestawami danych.
janpreet singh
11

Dobrym rozwiązaniem jest tutaj również zwiększenie gradientu. Możesz na przykład użyć klasyfikatora zwiększającego gradient w sci-kit learning. Zwiększanie gradientu jest podstawową metodą radzenia sobie z nierównowagą klas poprzez konstruowanie kolejnych zestawów szkoleniowych na podstawie nieprawidłowo sklasyfikowanych przykładów.

cwharland
źródło
1
Rozumiem, że zwiększanie gradientu podlega tym samym ograniczeniom, co RF, gdy mamy do czynienia z niezrównoważonymi danymi: sci2s.ugr.es/keel/pdf/algorithm/articulo/...
charles
1
Wzmocnienie to dodatkowy krok w budowaniu lasu, który bezpośrednio rozwiązuje problem nierównowagi. W dokumencie, który łączysz, odnotowano to w wstępnym wprowadzeniu wzmocnienia, nawet w przypadkach, w których nie występuje brak równowagi. I ten wniosek podsumowuje, że wzmocnienie znacznie pomaga. Więc nie jesteś pewien, gdzie jest pokazana równoważność między RF a wzmocnieniem?
cwharland
1

Oprócz zamieszczonych tutaj odpowiedzi, jeśli liczba pozytywnych przykładów jest o wiele za mała w porównaniu z przykładami negatywnymi, zbliża się to do problemu wykrywania anomalii, gdzie pozytywne przykłady to anomalie.

Masz całą gamę metod wykrywania anomalii, od używania wielowymiarowego rozkładu gaussowskiego do modelowania wszystkich punktów, a następnie wybierania tych, które są o 2 lub 3 std od średniej.

Kolejna myśl do przemyślenia - widziałem sporo osób, które losowo próbują negatywne przykłady z większą liczbą przykładów, dzięki czemu obie klasy są takie same. Zależy to całkowicie od problemu, niezależnie od tego, czy chcemy je wyważyć, czy nie.

Baran
źródło