Klasyfikacja z jednym dominującym predyktorem

9

Mam problem z klasyfikacją ( klasy), rzędu 100 prawdziwych predyktorów, z których jeden wydaje się mieć znacznie większą moc wyjaśniającą niż jakikolwiek inny. Chciałbym głębiej zapoznać się z efektami innych zmiennych. Jednak standardowe techniki uczenia maszynowego (losowe lasy, maszyny SVM itp.) Wydają się być zatapiane przez jeden silny predyktor i nie dostarczają mi wielu interesujących informacji o innych.k

Gdyby to był problem z regresją, po prostu regresowałbym się przeciwko silnemu predyktorowi, a następnie używałbym reszt jako danych wejściowych dla innych algorytmów. Jednak tak naprawdę nie rozumiem, jak to podejście można przełożyć na kontekst klasyfikacji.

Moją instynkt jest taki, że problem ten musi być dość powszechny: czy istnieje standardowa technika radzenia sobie z nim?

Martin O'Leary
źródło

Odpowiedzi:

2

W przypadku problemów 2-klasowych można użyć pakietu GBM w języku R , który iteracyjnie dopasuje drzewa klasyfikacji do reszt z funkcji straty. Niestety nie obsługuje jeszcze problemów z wieloma klasami.

Wydaje się, że jest to problem, który dobrze nadaje się do zwiększenia, ale nie znam żadnych pakietów zwiększających, które wspierają problemy z klasą K. Myślę, że problemem jest napisanie odpowiedniej funkcji straty dla wielu klas. Te glmnetpakiety posiada funkcję strat MULTINOMIAL, być może można przejrzeć kod źródłowy jest to dla niektórych wskaźników.

Możesz spróbować napisać własny algorytm podwyższania lub możesz przekształcić swój problem w k problemy z klasyfikacją binarną (jedna klasa vs. wszystkie inne klasy), dopasować model gbm do każdego problemu i uśrednić prawdopodobieństwa klas z każdego modelu.

Zach
źródło
2
Zach Nie jestem pewien, gdzie znajduje się stabilność programistyczna, ale GBM na R Forge ma wielomianową logistykę jako funkcję straty umożliwiającą klasyfikację wielu kategorii.
B_Miner
Dzięki! Zgadzam się, że wzmocnienie może być dobrym sposobem na zbliżenie się do tego i przyjrzę się sugestiom, które zaproponowałeś. Nadal jestem zainteresowany, aby wiedzieć, czy istnieje dobry sposób na rozwiązanie tego problemu poprzez przekształcenie problemu.
Martin O'Leary
@Zach Daj mi znać, jak to działa.
B_Miner