Jedną z metodologii wyboru podzbioru dostępnych funkcji klasyfikatora jest uszeregowanie ich według kryterium (takiego jak przyrost informacji), a następnie obliczenie dokładności przy użyciu klasyfikatora i podzbioru ocenianych elementów.
Na przykład, jeśli twoje funkcje są A, B, C, D, E
, a jeśli są uszeregowane w następujący sposób D,B,C,E,A
, to obliczasz dokładność za pomocą D
, a D, B
następnie D, B, C
, a następnie D, B, C, E
... dopóki twoja dokładność nie zacznie się zmniejszać. Gdy zacznie się zmniejszać, przestajesz dodawać funkcje.
W przykładzie 1 (powyżej) wybierasz funkcje F, C, D, A
i upuszczasz inne funkcje, ponieważ zmniejszają one twoją dokładność.
Metodologia ta zakłada, że dodanie większej liczby funkcji do modelu zwiększa dokładność klasyfikatora do pewnego momentu, po którym dodanie dodatkowych funkcji zmniejsza dokładność (jak pokazano w przykładzie 1)
Moja sytuacja jest jednak inna. Zastosowałem metodologię opisaną powyżej i stwierdziłem, że dodanie większej liczby funkcji zmniejszało dokładność do momentu, w którym wzrasta.
W takim scenariuszu, jak wybierasz swoje funkcje? Czy tylko zbierasz F
i upuszczasz resztę? Czy masz pojęcie, dlaczego dokładność ma się zmniejszać, a następnie zwiększać?
źródło
O konkretnym pytaniu
Nie należy oczekiwać określonego zachowania (zwiększenia, a następnie zmniejszenia dokładności) podczas wybierania podzbioru funkcji, ponieważ będzie to całkowicie zależało od problemu (i każdego modelu)
Obliczając zmienne znaczenie funkcji, bierze się pod uwagę wkład wszystkich funkcji jednocześnie. Gdy wybierzesz podzbiór funkcji i zbudujesz nowy model, otrzymasz inną reprezentację lub modelowanie problemu (który nie uwzględnia innych funkcji - informacyjnych lub nie -).
Teraz chcesz wybrać najlepszą liczbę funkcji. Będzie to również zależeć od twojego problemu i cech lub warunków, które musisz spełnić. Jeśli faktycznie potrzebujesz mniejszej liczby funkcji przy optymalizacji dokładności prognozowania, możesz wybrać najniższą liczbę funkcji, które osiągają najniższy błąd ... a jeśli masz różne przypadki z bardzo podobnymi błędami, to wybierz próg, przestrzegaj najlepsze przypadki, w których różnica błędów między parami jest niższa niż próg, i wybierz jedną (na przykład tę o niższej liczbie funkcji - ponieważ błędy są nieznacznie takie same -).
Rozważ eliminację funkcji rekurencyjnych
Metoda, której używasz, może nie być najbardziej stabilnym podejściem. Powinieneś rozważyć wypróbowanie czegoś takiego jak rekurencyjna eliminacja funkcji (RFE), metoda otoki, w której budujesz klasyfikator, klasyfikujesz wszystkie cechy, usuwasz najgorsze i odbudowujesz model na pozostałych funkcjach. Następnie powtórz metodę ponownie. To będzie bardziej stabilne ... i za każdym razem powinieneś spodziewać się innego rankingu.
Rozbieżność jest również czynnikiem krytycznym
Poza faktycznym błędem (lub dokładnością), jaki daje ci model z każdym podzbiorem, powinieneś rozważyć zbudowanie każdego modelu za pomocą procedury weryfikacji krzyżowej i wziąć pod uwagę zarówno średni błąd fałdowania, jak i standardowe odchylenie tych błędów. Jeśli odchylenie standardowe jest wysokie, wybrany podzbiór funkcji nie jest stabilny i będzie się często zmieniał podczas testowania z niewidzialnymi danymi. Jest to ważne, aby ocenić oczekiwane możliwości uogólnienia modelu i może być pomocne przy podejmowaniu decyzji między modelami (zbudowanymi z różnych podzbiorów).
źródło
Musisz usunąć zarówno zbędne, jak i niepotrzebne funkcje z zestawu danych. Można zauważyć, że w zbiorze danych znajdują się zbędne i zbędne funkcje.
Polecam przyjrzeć się algorytmowi wyboru minimalnej nadmiarowości przy maksymalnej istotności (MRMR). Jest to bardzo popularny i mocny filtr przed treningiem modelu.
„Jednak moja sytuacja jest inna. Zastosowałem metodologię opisaną powyżej i odkryłem, że dodanie większej liczby funkcji zmniejszyło dokładność aż do momentu, w którym wzrasta”
Jest to również możliwe, ale doprowadzi to do bardziej złożonego modelu.
źródło
Zasadniczo istnieją trzy klasy algorytmów wyboru funkcji.
Filtruj metody, które analizują wewnętrzne właściwości danych i przypisują wynik do każdej funkcji, bez udziału żadnego modelu. Niektóre przykłady to zmiana krotnie, test t-Studenta.
Metody owijania, które różne podzbiory cech są wybierane za pomocą określonych algorytmów. Następnie dopasowujemy się do modelu klasyfikacji lub regresji, aby ocenić każdy wybór i wybrać ten o najlepszej wartości sprawności. Niektóre przykłady to Algorytm genetyczny do wyboru funkcji, optymalizacja Monte Carlo do wyboru funkcji, stopniowa selekcja do przodu / do tyłu.
Wbudowane metody, które pozwalają samemu modelowi wybrać funkcje mające najlepszy wpływ na sprawność modelu. Typowymi są LASSO, regresja kalenicowa.
Oto świetny artykuł szczegółowo opisujący wprowadzenie do wyboru funkcji .
źródło