Muszę wiedzieć, dlaczego musimy radzić sobie z nierównowagą danych. Wiem, jak sobie z tym poradzić i różne metody rozwiązania tego problemu, polegające na próbkowaniu w górę lub w dół lub w programie Smote.
Na przykład, jeśli mam rzadką chorobę 1 procent na 100, i powiedzmy, że zdecydowałem się na zbalansowany zestaw danych dla mojego zestawu treningowego, czyli: próbka 50/50 Nie sprawi, że maszyna pomyśli, że 50% pacjentów będzie miało choroba? nawet jeśli stosunek wynosi 1 na 100. Tak
- Dlaczego musimy radzić sobie z nierównowagą danych?
- Jaki jest zalecany współczynnik ustawienia balansu?
Odpowiedzi:
Musisz poradzić sobie z niezrównoważonym zestawem danych, gdy wartość znalezienia klasy mniejszości jest znacznie wyższa niż znalezienia większości.
Powiedzmy, że 1% populacji ma tę rzadką chorobę. Załóżmy, że przypisujesz ten sam koszt do powiedzenia, że zdrowy człowiek jest chory lub do tego, że chory jest zdrowy. Podaj model, który mówi, że wszyscy są zdrowi, uzyskaj 99% dokładności i wróć do domu wcześnie. Problem z takim modelem polega na tym, że chociaż ma wysoką dokładność, prawdopodobnie nie będzie tego, czego szukasz. Przez większość czasu chcesz znaleźć osoby z chorobą (przykładając dużą wagę do fałszywych negatywów) o wiele bardziej niż boisz się wysłać zdrową osobę na niepotrzebny test (niska waga do fałszywie dodatnich). W prawdziwym świecie problem zdrowotny stosunek wagi może łatwo wynosić od 1 do 1000.
Brak równowagi w rozkładzie uniemożliwia większości algorytmów znalezienie właściwego rozwiązania.
Masz rację, że równoważenie dystrybucji nie jest optymalnym rozwiązaniem. Rzeczywiście, algorytm wyuczony na rozkładzie zrównoważonym nie jest dopasowany do rozkładu naturalnego, na którym będzie oceniany. Moją ulubioną metodą jest dostosowanie go z powrotem, jak widać tutaj . Dyskusja znajduje się tutaj .
Po prostu ustawienie stosunku do innego problemu nie będzie działać, ponieważ będziesz miał ten sam problem.
Smote działa w inny sposób, który nie działał tak dobrze, kiedy go wypróbowałem, ale może pasować do Twojego problemu.
źródło
musisz poradzić sobie z nierównowagą klas, jeśli / ponieważ poprawia to Twój model (w przypadku niewidocznych danych) „Lepsze” to coś, co musisz sam zdefiniować. Może to być dokładność, może to być koszt, może to być prawdziwa stopa dodatnia itp.
Istnieje subtelny niuans, który należy zrozumieć, gdy mówi się o braku równowagi klasowej. Mianowicie, czy twoje dane są niezrównoważone, ponieważ:
W niektórych przypadkach jedna klasa występuje znacznie częściej niż inna. I jest w porządku. W takim przypadku musisz sprawdzić, czy niektóre błędy są droższe niż inne. Jest to typowy przykład wykrywania śmiertelnych chorób u pacjentów, sprawdzania, czy ktoś jest terrorystą itp. Wraca do krótkiej odpowiedzi. Jeśli niektóre błędy są bardziej kosztowne niż inne, będziesz chciał je „ukarać”, zwiększając ich koszty. Dlatego lepszy model będzie miał niższy koszt. Jeśli wszystkie błędy są tak złe, nie ma prawdziwego powodu, dla którego warto stosować modele wrażliwe na koszty.
Należy również zauważyć, że stosowanie modeli wrażliwych na koszty nie jest specyficzne dla niezrównoważonych zestawów danych. Możesz używać takich modeli, jeśli twoje dane są również idealnie zrównoważone.
Czasami twoje dane są „niezrównoważone”, ponieważ nie reprezentują prawdziwego rozkładu danych. W takim przypadku musisz zachować ostrożność, ponieważ masz „zbyt wiele” przykładów jednej klasy i „zbyt mało” drugiej, a zatem musisz upewnić się, że Twój model nie jest nadmiernie / słabo na jednej z tych klas.
Różni się to od korzystania z kosztów, ponieważ może nie być tak, że jeden błąd jest gorszy od drugiego. To, co by się stało, byłoby stronnicze i nie byłoby korzystne dla twojego modelu, gdyby niewidzialne dane nie miały takiego samego rozkładu jak dane, na których trenowałeś.
Powiedzmy, że podaję dane treningowe, a Twoim celem jest odgadnięcie, czy coś jest czerwone, czy niebieskie. To, czy pomylisz kolor niebieski z czerwonym, czy czerwony z niebieskim, nie ma większego znaczenia. Twoje dane treningowe zawierają 90% czerwonych wystąpień, podczas gdy w prawdziwym życiu zdarzają się tylko w 10% przypadków. Musisz sobie z tym poradzić, aby ulepszyć swój model.
źródło