Python TfidfVectorizer Error:empty vocabulary; perhaps the documents only contain stop words
vectorizer = TfidfVectorizer(ngram_range=(1, 3), sublinear_tf=True, min_df=1, max_df=0.6)vectorizer.fit(self._train_data, fitted_train_label)上面是原始的配置,其中self._train_data内容如下:['我 们 是 中 国 人 。','我 们 爱 祖 国
·
vectorizer = TfidfVectorizer(ngram_range=(1, 3), sublinear_tf=True, min_df=1, max_df=0.6)
vectorizer.fit(self._train_data, fitted_train_label)
上面是原始的配置,其中
self._train_data内容如下:
[
'我 们 是 中 国 人 。',
'我 们 爱 祖 国 。'
]
在fit步骤报错如标题。
解决方案:
vectorizer = TfidfVectorizer(ngram_range=(1, 3), sublinear_tf=True, min_df=1, max_df=0.6, token_pattern=r"(?u)\b\w+\b"))
vectorizer.fit(self._train_data, fitted_train_label)
token_pattern参数为token解析模式配置,其中的\w决定了如果为单个word则会被当做停用词过滤掉,导致上述全部单个汉字都被过滤掉,进而出现如上报错。取消掉即可。
更多推荐
已为社区贡献1条内容
所有评论(0)