Mam więc macierz o wymiarach około 60 x 1000. Patrzę na nią jako na 60 obiektów z 1000 cechami; 60 obiektów jest pogrupowanych w 3 klasy (a, b, c). 20 obiektów w każdej klasie i znamy prawdziwą klasyfikację. Chciałbym przeprowadzić nadzorowaną naukę na tym zestawie 60 przykładów szkoleniowych. Interesuję się zarówno dokładnością klasyfikatora (i powiązanymi wskaźnikami), jak i wyborem funkcji dla 1000 funkcji.
Po pierwsze, jak wygląda moja nomenklatura?
Teraz prawdziwe pytanie:
Mogłem rzucić na nią losowe lasy, jak podano, lub dowolną liczbę innych klasyfikatorów. Ale jest subtelność - naprawdę zależy mi tylko na odróżnieniu klasy c od klas a i b. Mógłbym połączyć klasy a i b, ale czy istnieje dobry sposób na wykorzystanie wiedzy a priori, że wszystkie obiekty inne niż c prawdopodobnie tworzą dwie odrębne klastry? Wolałbym używać losowych lasów lub ich wariantów, ponieważ wykazano, że są skuteczne w przypadku danych podobnych do moich. Ale mogę przekonać się do innych podejść.
źródło
Odpowiedzi:
Jeśli używasz metody opartej na drzewie, nie sądzę, żeby to miało znaczenie, ponieważ klasyfikatory dzielą przestrzeń cech, a następnie spójrz na proporcję próbek w każdej klasie. Liczy się więc względne wystąpienie klasy c w każdym węźle końcowym.
Jeśli jednak używasz czegoś w rodzaju mieszanki normalnych, LDA itp., Łączenie dwóch klastrów byłoby złym pomysłem (zakładając, że klasy aib tworzą unikalne klastry). Tutaj musisz zachować strukturę klas, aby dokładnie opisać przestrzeń cech odwzorowaną na a, b i c. Modele te zakładają, że funkcje dla każdej klasy mają inny rozkład normalny. Jeśli połączysz aib, wymusisz dopasowanie pojedynczego rozkładu normalnego do mieszaniny.
Podsumowując, drzewa nie powinny mieć większego znaczenia, jeśli:
I. Utwórz trzy klasyfikatory (1. a vs b, 2. a vs c i 3. b vs c), a następnie przewiduj metodę opartą na głosowaniu.
II. Scal klasy aib, aby utworzyć problem dwóch klas.
III. Przewiduj wszystkie trzy klasy, a następnie przypisz prognozę do wartości dwóch klas (np. F (c) = c, f (a) = not c, f (b) = not c).
Jeśli jednak zastosujesz metodę, która dopasowuje rozkład do każdej klasy, unikaj II. i sprawdź, który z I. lub III. działa lepiej dla twojego problemu
źródło