如何在朴素贝叶斯分类器中使用单个词频特征?

How to use individual term frequeny features with Naive Bayes classifier?

我目前正在使用朴素贝叶斯分类器处理 NLP 任务。

我的特征由双字母组和单字母组组成。

现在,为了适应 X_train,我想合并前 100 个单字母组和前 50 个双字母组。

我该怎么做?

我只能使用前 100 个 unigrams 或前 50 个 bigrams。

有没有聪明的方法,不用导出克数,来包含合并的 150 克?

cv = CountVectorizer(strip_accents='ascii', analyzer='word',                                                          token_pattern=u'(?ui)\b\w*[a-z]+\w*\b',                                
                      lowercase=True, stop_words='english',   
                     ngram_range=(1,1), max_features=100)                                              
X_train_cv = cv.fit_transform(X_train)                                                           
X_test_cv  = cv.transform(X_test)

我当然可以使用 ngram_range(1,2) = 150 但这与 ngram_range(1,1), max_features=100ngram_range=(2,2) , max_features=50

不同

可以创建 2 个单独的 Vectorizers 并使用特征联合将它们合并:https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.FeatureUnion.html