2013-04-03 12 views
14

Próbuję sklasyfikować niektóre dane EEG przy użyciu modelu regresji logistycznej (wydaje się, że daje najlepszą klasyfikację moich danych). Dane, które mam, pochodzą z wielokanałowej konfiguracji EEG, więc w istocie mam macierz 63 x 116 x 50 (czyli kanały x punkty czasowe x liczba prób (są dwa typy prób 50), zmieniłem to na długi wektor, po jednym dla każdej próby:znajdź ważne funkcje do klasyfikacji

Co chciałbym zrobić, to po klasyfikacji, aby zobaczyć, które cechy były najbardziej przydatne w klasyfikacji prób. Jak mogę to zrobić i czy możliwe jest przetestowanie znaczenia tych funkcji, np. powiedzieć, że klasyfikacja była prowadzona głównie przez N-funkcje i są to cechy od x do z. Mogę na przykład powiedzieć, że kanał 10 w punkcie czasowym 90-95 był znaczący lub ważny dla klasyfikacji

Czy jest to możliwe, czy też zadaję niewłaściwe pytanie?

wszelkie komentarze lub papierowe odniesienia są doceniane.

Odpowiedz

33

scikit-learn zawiera sporo metod klasyfikacji funkcji, wśród nich:

(więcej na: http://scikit-learn.org/stable/modules/feature_selection.html)

Wśród tych, zdecydowanie zalecam zrobienie Randomized Logistic Regression. Z mojego doświadczenia wynika, że ​​konsekwentnie przewyższa inne metody i jest bardzo stabilny. papieru na to: http://arxiv.org/pdf/0809.2932v2.pdf

Edit: Pisałem serię blogach na różnych metod selekcji cech i ich wady i zalety, które są prawdopodobnie przydatne do odpowiedzi na to pytanie bardziej szczegółowo:

+1

Nie-randomizowane modele z karą L1 są również ładne (tj. L1 karane Regresja logistyczna i LinearSVC). Nie mam dużego doświadczenia z wersjami randomizowanymi. –

+0

Druga sugestia AndreasMuellera, SVM kary L1 jest zaskakująco dobrym algorytmem wyboru cech dla niektórych zadań (które nie przypominają odczytu EEG, więc YMMV). [Przykład klasyfikacji dokumentów] (http://scikit-learn.org/stable/auto_examples/document_classification_20newsgroups.html#example-document-classification-20newsgroups-py) robi to, patrz "L1LinearSVC" tam. –

+1

Z mojego doświadczenia wynika, że ​​przypadki, w których metody nie randomizowane mogą się nie powieść, występują w przypadku silnie wielokolumnowych funkcji. W takim przypadku niektóre funkcje mogą należeć do najlepszych w jednym podzbiorze danych, a jednocześnie podlegają reglamentacji dla innego podzbioru danych. –

Powiązane problemy