【发布时间】:2020-02-10 10:37:08
【问题描述】:
我正在尝试在一个管道中使用 TFI/DF 和 CountVectorizer。 我做了以下事情:
pipe = Pipeline([
('tfic', TfidfVectorizer()),
('cvec', CountVectorizer()),
('lr' ,LogisticRegression())
])
及参数:
pipe_parms = {
'cvec__max_features' : [100,500],
'cvec__ngram_range' : [(1,1),(1,2)],
'cvec__stop_words' : [ 'english', None]
}
网格搜索:
gs = GridSearchCV(pipe, param_grid= pipe_parms, cv=3)
我遇到了一个错误
未找到下层。
使用countVectorizer 或TfidfVectorizer 可以,但不能同时使用。
我阅读了有关 stackoverflow 的其他问题,他们表示如果我希望两者都使用一个管道工作,我应该使用 TfidfTransformer()。
这样做,我收到一个错误“无法将字符串转换为浮点数”
有没有办法在一个管道中使用两个矢量化器?或您建议的其他方法。
谢谢
编辑: 我找到了一个使用 FeatureUnion 组合 2 个并行转换器(在本例中为 count 和 Tfidf 矢量化器)的解决方案。 我在这里写了一篇关于它的简短博客文章: https://link.medium.com/OPzIU0T3N0
【问题讨论】:
标签: python machine-learning nlp jupyter-notebook