from sklearn feature_extraction text import english_stop_words print("number of stop words{}format(len(english_stop_words))print("every th stopword:\ {}format(list(english_stop_words)[:: ])out[ ]number of stop words every th stopword['above''elsewhere''into''well''rather''fifteen''had''enough''herein''should''third''although''more''this''none''seemed''nobody''seems''he''also''fill''anyone''anything''me''the''yet''go''seeming''front''beforehand''forty'' 'clearlyremoving the stopwords in the list can only decrease the number of features by the length of the list--here --but it might lead to an improvement in performance let' give it tryin[ ]specifying stop_words="englishuses the built-in list we could also augment it and pass our own vect countvectorizer(min_df= stop_words="english"fit(text_trainx_train vect transform(text_trainprint("x_train with stop words:\ {}format(repr(x_train))out[ ]x_train with stop wordswith stored elements in compressed sparse row formatthere are now ( , - , fewer features in the datasetwhich means that mostbut not allof the stopwords appeared let' run the grid search againin[ ]grid gridsearchcv(logisticregression()param_gridcv= grid fit(x_trainy_trainprint("best cross-validation score{ }format(grid best_score_)out[ ]best cross-validation score the grid search performance decreased slightly using the stopwords--not enough to worry aboutbut given that excluding features out of over , is unlikely to change performance or interpretability lotit doesn' seem worth using this list fixed lists are mostly helpful for small datasetswhich might not contain enough information for the model to determine which words are stopwords from the data itself as an exerciseyou can try out the other approachdiscarding frequently stopwords