Как получить наиболее важные названия функций моего наивного классификатора? - PullRequest
0 голосов
/ 06 января 2019

Контекст: у меня есть огромный набор текстовых данных (~ 70 ГБ), который я хочу использовать, чтобы предсказать, поднимется или снизится определенный запас (метки: 0 и 1), и я хочу знать наиболее важные функции, используя MultinomialNB- классификатор.

Моя идея - использовать HashingVectorizer от scikitlearn для создания матрицы термина документа, которую я использую для обучения MulitnomialNB-classfier. Таким образом, я установил размер таблицы терминов, что предотвращает проблемы с памятью. Обычный CountVectorizer не работает, так как таблица становится все больше и больше, пока мой баран не исчерпан.

После этого я могу показать себе model.feature_log_prob_ / coef_.

Вопрос: есть ли способ узнать, какой хэш соответствует model.feature_log_prob/coef_?

Если да, я могу их отсортировать и выяснить, например, 1000 самых важных хешей для каждого класса. Во второй итерации моего набора данных я мог записать, какое слово или какие слова соответствуют тому или иному хэшу в моем списке из 1000 наиболее важных хешей.

...