Я пытаюсь классифицировать некоторые данные ЭЭГ, используя модель логистической регрессии (это, кажется, дает лучшую классификацию моих данных). Данные, которые у меня есть, взяты из многоканальной установки ЭЭГ, поэтому, по сути, у меня есть матрица 63 x 116 x 50 (то есть каналы x временные точки x количество испытаний (есть два типа испытаний по 50), я изменил ее на длинный вектор, по одному на каждое испытание.
Что я хотел бы сделать, так это после классификации посмотреть, какие особенности были наиболее полезными при классификации испытаний. Как я могу это сделать и можно ли проверить значимость этих функций? например Сказать, что классификация была основана в основном на N-признаках, а это признаки от x до z. Таким образом, я мог бы, например, сказать, что канал 10 в момент времени 90-95 был значимым или важным для классификации.
Так возможно ли это, или я задаю неправильный вопрос?
Приветствуются любые комментарии или бумажные ссылки.
1 ответ
Scikit-learn включает в себя довольно много методов ранжирования функций, среди которых:
- Одномерный выбор функций (http://scikit-learn.org/stable/auto_examples/feature_selection /plot_feature_selection.html)
- Удаление рекурсивных функций (http://scikit-learn.org/stable/auto_examples/feature_selection /plot_rfe_digits.html)
- Рандомизированная логистическая регрессия / выбор стабильности (http: // scikit-learn. org / stable / modules / generated / sklearn.linear_model.RandomizedLogisticRegression.html)
(подробнее см. http://scikit-learn.org/stable/modules/feature_selection.html)
Среди них я определенно рекомендую попробовать рандомизированную логистическую регрессию. По моему опыту, он неизменно превосходит другие методы и очень стабилен. Документ по этому поводу: http://arxiv.org/pdf/0809.2932v2.pdf
Изменить: Я написал серию сообщений в блоге о различных методах выбора функций и их плюсах и минусах, которые, вероятно, будут полезны для более подробного ответа на этот вопрос:
- http://blog.datadive.net/selecting-good-features-part-i-univariate-selection/
- http://blog.datadive.net/selecting-good-features-part-ii-linear-models-and-regularization/
- http://blog.datadive.net/selecting-good-features-part-iii-random-forests/
- http://blog.datadive.net/selecting-good-features-part-iv-stability-selection-rfe-and-everything-side-by-side/
Похожие вопросы
Связанные вопросы
Новые вопросы
scikit-learn
Scikit-learn — это библиотека машинного обучения для Python, которая предоставляет простые и эффективные инструменты для анализа и интеллектуального анализа данных с упором на машинное обучение. Он доступен для всех и может использоваться повторно в различных контекстах. Он построен на NumPy и SciPy. Проект имеет открытый исходный код и может использоваться в коммерческих целях (лицензия BSD).
L1LinearSVC
там.