Python 3.x 了解TF-IDF分数
我试图了解当我们使用gnPython 3.x 了解TF-IDF分数,python-3.x,scikit-learn,feature-extraction,tf-idf,tfidfvectorizer,Python 3.x,Scikit Learn,Feature Extraction,Tf Idf,Tfidfvectorizer,我试图了解当我们使用gnTfidfVectorizer对文本文档进行矢量化时,tf和idf分数是如何计算的 我理解tf idf在两个方面的排名,我在下面写下 tf=根据单个单词在本文档中的重复频率对其进行排序,idf=根据同一单词在scikit中内置的“类似数据库”集合中的重复频率对其进行排序了解几乎所有可能单词的收集位置。这里我假设这个内置数据库就是语料库 tf=对单个工作进行排序,该工作在tfidfvectorize当前正在读取的文档中的行中重复的频率,idf=根据该工作在正在进行矢量化的整
TfidfVectorizer
对文本文档进行矢量化时,tf和idf分数是如何计算的
我理解tf idf在两个方面的排名,我在下面写下
idf(t)=log[(1+n_d)/(1+df(d,t))]+1
其中,n\u d
是文档总数,df(d,t)
是包含术语t
的文档数
因此,关于tf,您的第一项是正确的,但这两项都忽略了idf是反向文档频率这一点,因此它是文档数量的比率(所有文档与至少包含一次术语的文档)。公式采用比率的对数,以使比率函数更“平坦”,并且可以通过类参数进行调整。根据idf(t)的公式,如果我只有一个要矢量化的文档,那么所有单词的idf(t)分数是否为1?是的,如果只有一个文档,idf就没有意义。确切的值可能不同,具体取决于公式,所有术语的值都是相同的。因此,如果我对单个文档使用Tfidfvectorizer,那么像“he”或“and”这样的常用词将获得高分。我说的对吗?对。你需要使用大量的文档