Найти важные функции для классификации - программирование
Подтвердить что ты не робот

Найти важные функции для классификации

Я пытаюсь классифицировать некоторые данные ЭЭГ с использованием модели логистической регрессии (это, как представляется, дает лучшую классификацию моих данных). У меня есть данные из многоканальной установки ЭЭГ, по сути, у меня есть матрица 63 х 116 х 50 (то есть каналы х временных точек х количество испытаний (есть два типа проб 50), я изменил это на длинный вектор, по одному для каждого испытания.

Что мне хотелось бы сделать после классификации, чтобы увидеть, какие функции были наиболее полезны при классификации испытаний. Как я могу это сделать, и можно ли проверить значение этих функций? например сказать, что классификация была связана главным образом с N-функциями, и это функции x-z. Поэтому я мог бы, например, сказать, что канал 10 в момент времени 90-95 был значительным или важным для классификации.

Так возможно ли это или я задаю неправильный вопрос?

любые комментарии или ссылки на бумагу очень ценятся.

4b9b3361

Ответ 1

Scikit-learn включает в себя довольно много методов для ранжирования функций, среди которых:

(подробнее см. http://scikit-learn.org/stable/modules/feature_selection.html)

Среди тех, я определенно рекомендую сделать рандомизированную логистическую регрессию выстрелом. По моему опыту, он последовательно превосходит другие методы и очень стабилен. Бумага об этом: http://arxiv.org/pdf/0809.2932v2.pdf

Edit: Я написал серию сообщений в блогах о различных методах выбора объектов и их плюсах и минусах, которые, вероятно, полезны для более подробного ответа на этот вопрос: