Czy wybór funkcji powinien być wykonywany tylko na danych treningowych (lub wszystkich danych)? Przeszedłem kilka dyskusji i artykułów, takich jak Guyon (2003) i Singhi i Liu (2006) , ale wciąż nie jestem pewien, czy odpowiedź jest prawidłowa.
Moja konfiguracja eksperymentu wygląda następująco:
- Zestaw danych: 50 zdrowych kontroli i 50 pacjentów z chorobą (około 200 cech, które mogą być istotne dla prognozowania choroby).
- Zadanie polega na zdiagnozowaniu choroby na podstawie dostępnych funkcji.
To co robię jest
- Weź cały zestaw danych i dokonaj wyboru funkcji (FS). Zachowuję tylko wybrane funkcje do dalszego przetwarzania
- Podziel, aby przetestować i trenować, klasyfikator pociągów z wykorzystaniem danych pociągu i wybranych funkcji. Następnie zastosuj klasyfikator do testowania danych (ponownie używając tylko wybranych funkcji). Wykorzystywana jest walidacja z pominięciem jednego z nich.
- uzyskać dokładność klasyfikacji
- Uśrednianie: powtórz 1) -3) N razy. (100).
Zgodziłbym się, że wykonanie FS dla całego zestawu danych może wprowadzić pewne odchylenie, ale moim zdaniem jest ono „uśredniane” podczas uśredniania (krok 4). Czy to jest poprawne? (Wariant dokładności wynosi )
1 Guyon, I. (2003) „Wprowadzenie do wyboru zmiennych i cech”, The Journal of Machine Learning Research, t. 3, s. 1157-1182
2 Singhi, SK i Liu, H. (2006) „Bias selekcji podzbiorów funkcji dla uczenia się klasyfikacji”, kontynuacja ICML '06 Materiały z 23. międzynarodowej konferencji nt. Uczenia maszynowego, s. 849-856