TD/IDF in scikit-learn



是否有一个完整的python 2.7示例有关如何使用tfidftransformer(http://scikit-learn.org/stable/modules/mmodules/feature_extraction.htaction.html)将TF/IDF用于N-克的克?环顾Scikit-Learn页面,它只有代码段(未完成样本)。

问候,lin

对于TF-IDF功能提取,Scikit-learn具有2个类TfidfTransformerTfidfVectorizer类。这两个类实质上都具有相同的目的,但应该以不同的方式使用。对于文本特征提取,Scikit-learn具有变压器 vectorizers 的概念。向量器直接在原始文本上工作以生成功能,而变压器则可以在现有功能上运行并将其转换为新功能。因此,按照该类比,TfidfTransformer在现有的术语频率功能上工作,并将其转换为TF-IDF功能,而TfidfVectorizer则将其作为输入为输入原始文本和直接生成TF-IDF功能。您应该始终使用TfidfVectorizer,如果在功能构建时,您没有现有的文档 - 期限矩阵。在黑匣子级别,您应该将TfidfVectorizer视为CountVectorizer,然后是TfidfTransformer

现在来了Tfidfectorizer的工作示例。请注意,如果此示例很清楚,那么您将毫无困难地了解TfidfTransformer给出的示例。

现在考虑您的语料库中有以下4个文档:

text = [
        'jack and jill went up the hill',
        'to fetch a pail of water',
        'jack fell down and broke his crown',
        'and jill came tumbling after'
       ]

您可以使用任何iterable,只要它在字符串上迭代。TfidfVectorizer还支持从文件中详细介绍文件的文本。现在,在最简单的情况下,我们可以初始化TfidfVectorizer对象并将培训数据适合其。如下所示:

tfidf = TfidfVectorizer()
train_features = tfidf.fit_transform(text)
train_features.shape

此代码只需fits我们的输入数据上的vectorizer即可生成尺寸稀疏矩阵4 x 20。因此,它将给定文本中的每个文档转换为20功能的向量,其中词汇的大小为20

TfidfVectorizer的情况下,当我们说fit the model时,这意味着TfidfVectorizer从语料库中学习IDF权重。"转换数据"是指使用拟合模型(学习的IDF权重)将文档转换为TF-IDF向量。该术语是整个Scikit-Learn的标准。在分类问题的情况下,它非常有用。考虑是否要根据某些使用TF-IDF向量作为功能的标记培训数据将文档分类为正或负面。在这种情况下,您将使用培训数据构建TF-IDF矢量机,当您看到新的测试文档时,您只需使用已经 fitting TfidfVectorizer

因此,如果我们有以下test_txt

test_text = [
        'jack fetch water',
        'jill fell down the hill'
       ]

我们将通过简单地做

来构建测试功能
test_data = tfidf.transform(test_text)

这将再次为我们提供2 x 20的稀疏矩阵。在这种情况下使用的IDF权重是从培训数据中学到的。

这就是简单的TfidfVectorizer的工作方式。您可以通过传递构造函数中的更多参数来使其更加复杂。这些在Scikit-Learn文档中有很好的记录。我经常使用的一些参数是:

  • ngram_range-这使我们能够使用n gram令牌构建TF -IDF向量。例如,如果我通过(1,2),那么这将同时构建Umigrams and Bigrams。
  • stop_words-允许我们在此过程中分别给出止损以忽略。几乎所有文档中都存在的诸如" the","等单词是一种常见的做法。
  • min_dfmax_df-这使我们能够根据文档频率动态过滤词汇。例如,通过给出0.7max_df,我可以让我的应用程序自动删除域特定的停止单词。例如,在医学期刊的语料库中,可以将疾病一词视为停止词。

除此之外,您还可以参考我为项目编写的示例代码。尽管它的记录不佳,但功能命名很好。

希望这会有所帮助!

相关内容

  • 没有找到相关文章

最新更新