对于 scikit-learn 的文本分类,我是否必须同时使用 Countvectorizer 和 TFIDF?

For text classification with scikit-learn, do I have to use both, Countvectorizer and TFIDF?

查看 scikit-learn 文档代码,建议先实现 Countvectorizer,然后在 TFIDF 之上。我可以只使用 TFIDF 吗? http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html

enter image description here

如果我只使用 TFIDF 并将我的预处理文本作为输入,它不会采用数据类型(我尝试作为列表和 np 数组)。有人可以帮忙吗?

  1. 在他们展示的示例中,他们在 CountVectorizer 之上使用了 TfidfTransformer。直接使用 TfidfVectorizer 产生相同的结果。因此,您可以选择所需的权重方案。
  2. 我不太明白你的问题。 Scikit 向量器可以有不同类型的输入,从 list/arrays 字符串到文件描述符等等。为了构造 ngram,它使用参数 tokenizer=preprocessor=。你的问题是什么?

CV 和 TFIDF 的工作方式不同,我只能使用 CV,但没有 CV 就无法使用 TFIDF,所以我只是想知道。如果它产生相同的结果,那应该没问题。谢谢。