(Zakładając, że mówisz o nadzorowanym uczeniu się)
Skorelowane funkcje nie zawsze pogorszą twój model, ale nie zawsze go poprawią.
Istnieją trzy główne powody, dla których należy usunąć skorelowane funkcje:
- Przyspiesz algorytm uczenia się
Ze względu na przekleństwo wymiarowe, mniej funkcji zwykle oznacza dużą poprawę prędkości.
Jeśli prędkość nie stanowi problemu, być może nie usuwaj tych funkcji od razu (patrz następny punkt)
- Zmniejsz szkodliwe nastawienie
Słowo kluczowe jest szkodliwe. Jeśli masz skorelowane cechy, ale są one również skorelowane z celem, chcesz je zachować. Możesz zobaczyć funkcje jako wskazówki, aby dobrze zgadnąć, jeśli masz dwie wskazówki, które są w zasadzie takie same, ale są to dobre wskazówki, warto je zachować.
Niektóre algorytmy, takie jak Naive Bayes, faktycznie korzystają bezpośrednio z „pozytywnych” skorelowanych funkcji. Inni, jak losowy las, mogą pośrednio z nich skorzystać.
Wyobraź sobie, że masz 3 cechy A, B i C. A i B są wysoce skorelowane z celem i ze sobą, a C wcale nie jest. Jeśli spróbujesz z 3 funkcji, masz 2/3 szansy na uzyskanie „dobrej” cechy, natomiast jeśli usuniesz na przykład B, szansa spada do 1/2
Oczywiście, jeśli skorelowane cechy nie są superinformacyjne, algorytm może nie ucierpieć.
Morał historii, usunięcie tych funkcji może być konieczne ze względu na szybkość, ale pamiętaj, że możesz pogorszyć algorytm. Ponadto niektóre algorytmy, takie jak drzewa decyzyjne, mają wbudowany wybór funkcji.
Dobrym sposobem na poradzenie sobie z tym jest użycie metody otoki do wyboru funkcji. Usunie zbędne funkcje tylko wtedy, gdy nie przyczynią się one bezpośrednio do wydajności. Jeśli będą przydatne, jak w naiwnych laurach, zostaną zachowane. (Pamiętaj jednak, że metody owijania są drogie i mogą prowadzić do przeregulowania)
- Interpretowalność twojego modelu
Jeśli Twój model wymaga interpretacji, być może będziesz zmuszony go uprościć. Pamiętaj też, aby pamiętać o brzytwie Ockhama. Jeśli twój model nie jest „o wiele” gorszy przy mniejszej liczbie funkcji, prawdopodobnie powinieneś użyć mniejszej liczby funkcji.