Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 究竟什么是';使用idf';在sklearn中创建TFIDF转换器时执行什么操作?_Python_Scikit Learn_Tf Idf - Fatal编程技术网

Python 究竟什么是';使用idf';在sklearn中创建TFIDF转换器时执行什么操作?

Python 究竟什么是';使用idf';在sklearn中创建TFIDF转换器时执行什么操作?,python,scikit-learn,tf-idf,Python,Scikit Learn,Tf Idf,我使用的是Python 2.7中sklearn包中的TfidfTransformer 当我对这些参数感到满意时,我对use\u idf感到有些困惑,如: tfidf矢量化器(使用\u idf=False)。拟合\u transform() 当为false或true时,使用_idf具体做什么 因为我们正在生成一个稀疏Tfidf矩阵,所以使用参数来选择稀疏Tfidf矩阵是没有意义的;这似乎是多余的 这很有趣,但似乎没有抓住它 只说,启用反向文档频率重新称重,这不是很有启发性 任何意见,谢谢 编辑 我

我使用的是Python 2.7中sklearn包中的TfidfTransformer

当我对这些参数感到满意时,我对
use\u idf
感到有些困惑,如:

tfidf矢量化器(使用\u idf=False)。拟合\u transform()

当为false或true时,
使用_idf
具体做什么

因为我们正在生成一个稀疏Tfidf矩阵,所以使用参数来选择稀疏Tfidf矩阵是没有意义的;这似乎是多余的

这很有趣,但似乎没有抓住它

只说,
启用反向文档频率重新称重
,这不是很有启发性

任何意见,谢谢

编辑 我想我明白了。很简单:
文本-->计数
计数-->TF,表示我们只有原始计数 或 计数-->TFIDF,表示我们有加权计数

让我困惑的是…因为他们称它为TfidfVectorizer,我不知道只有当你选择它为TFIDF时才是真的。您还可以使用它来创建一个TF。

在术语频率(TF)计算中,所有术语都被认为同等重要。即使某些在确定相关性方面不重要的术语也会在计算中出现


降低高收集频率项的权重有助于计算。“反向文档频率”(Inverse Document Frequency)会将项的TF权重减少一个随其收集频率增加的因子。所以使用术语的文档频率DF来衡量其权重

通常,tf-idf权重由两项组成:第一项计算归一化项频率(tf),aka。单词在文档中出现的次数除以该文档中的单词总数;第二项是逆文档频率(IDF),计算为语料库中文档数量除以出现特定项的文档数量的对数

TF:术语频率,用于测量术语在文档中出现的频率。 TF(t)=(术语t在文档中出现的次数)/(文档中术语的总数)

IDF:反向文档频率,用于衡量术语的重要性。在计算TF时,所有术语都被认为同等重要。然而,众所周知,某些术语,如“是”、“的”和“那”,可能出现很多次,但没有什么重要性。因此,我们需要通过计算以下各项来权衡频繁项,同时放大稀有项:

IDF(t)=log_e(文档总数/其中包含术语t的文档数)。


如果您给出use\u idf=False,那么您将只使用TF进行评分。

也许这个老答案可以帮助解释没有idf的TF的含义:TF矩阵用于整个文档集合。在scikit中,对象用于单个文档。在内部,这些都是相同的计算。什么?我认为
use\u idf
指的是idf,它是所有文档中按频率划分的权重矩阵。