Adding words to scikit-learn's CountVectorizer's stop list

Question:

Scikit-learn’s CountVectorizer class lets you pass a string ‘english’ to the argument stop_words. I want to add some things to this predefined list. Can anyone tell me how to do this?

Asked By: statsNoob

||

Answers:

According to the source code for sklearn.feature_extraction.text, the full list (actually a frozenset, from stop_words) of ENGLISH_STOP_WORDS is exposed through __all__. Therefore if you want to use that list plus some more items, you could do something like:

from sklearn.feature_extraction import text 

stop_words = text.ENGLISH_STOP_WORDS.union(my_additional_stop_words)

(where my_additional_stop_words is any sequence of strings) and use the result as the stop_words argument. This input to CountVectorizer.__init__ is parsed by _check_stop_list, which will pass the new frozenset straight through.

Answered By: jonrsharpe
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.