【问题标题】:Python: Creating Term Document Matrix from listPython:从列表中创建术语文档矩阵
【发布时间】:2015-08-14 05:25:40
【问题描述】:

所以我想在一些文档上训练一个朴素贝叶斯算法,如果我有字符串形式的文档,下面的代码就可以正常运行。但问题是我的字符串经历了一系列预处理步骤,这些步骤比停用词删除、词形还原等更多,而是有一些自定义转换返回一个 ngram 列表,其中 n 可以 [1,2,3] 取决于关于文本的上下文。 所以现在因为我有 ngram 列表而不是代表文档的字符串,所以我很困惑如何表示与 CountVectorizer 的输入相同。 有什么建议吗?

可以将文档作为字符串类型的文档数组正常工作的代码。

count_vectorizer = CountVectorizer(binary='true')
data = count_vectorizer.fit_transform(docs)

tfidf_data = TfidfTransformer(use_idf=False).fit_transform(data)
classifier = BernoulliNB().fit(tfidf_data,op)

【问题讨论】:

    标签: python machine-learning nlp scikit-learn


    【解决方案1】:

    您应该将所有预处理步骤合并到预处理器和标记器函数中,请参阅 scikit-learn 文档中的 section 4.2.3.10CountVectorizer description。有关此类标记器/转换器的示例,请参见 scikit-learn 本身的 related question of src code

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-15
      • 1970-01-01
      • 2013-05-03
      • 1970-01-01
      • 2015-05-19
      • 2018-04-29
      • 2018-05-04
      • 1970-01-01
      相关资源
      最近更新 更多