有没有办法使用 scikit 或任何其他 python 包只获取单词的 IDF 值?

Posted

技术标签:

【中文标题】有没有办法使用 scikit 或任何其他 python 包只获取单词的 IDF 值?【英文标题】:Is there a way to get only the IDF values of words using scikit or any other python package? 【发布时间】:2018-07-04 00:16:30 【问题描述】:

我的数据集中有一个文本列,我希望使用该列为所有存在的单词计算 IDF。 scikit 中的 TFID 实现,如 tfidfvectorize,直接给我 TFIDF 值,而不是单词 IDF。有没有办法让单词 IDF 给出一组文档?

【问题讨论】:

为什么不自己计算呢。这是一个简单的计算 TfidfVectorizer 有一个idf_,您可以在拟合后使用它。 @Usernamenotfound 我一直沉迷于编写自己的代码来做我知道逻辑的事情。这导致我的效率低于其他了解图书馆直接功能的人。所以,除非必要,否则我会故意不写代码。 【参考方案1】:

您可以只使用带有 use_idf=True(默认值)的 TfidfVectorizer,然后使用 idf_ 提取。

from sklearn.feature_extraction.text import TfidfVectorizer

my_data = ["hello how are you", "hello who are you", "i am not you"]

tf = TfidfVectorizer(use_idf=True)
tf.fit_transform(my_data)

idf = tf.idf_ 

[BONUS] 如果您想获取特定单词的 idf 值:

# If you want to get the idf value for a particular word, here "hello"    
tf.idf_[tf.vocabulary_["hello"]]

【讨论】:

您将如何获得 IDF 值,例如“非”一词。 IDF ("not")= 什么? 属性“vocabulary_”为您提供单词和特征索引之间的映射。您应该使用词汇_获取特征索引,然后使用该值获取idf_中的对应值。

以上是关于有没有办法使用 scikit 或任何其他 python 包只获取单词的 IDF 值?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用 Frida 或任何其他工具通过您自己的参数调用 IOS 应用程序中的方法?

有没有办法突出显示崇高文本或任何其他文本编辑器中的所有特殊重音字符?

knitr有没有办法评估其他语言的内联代码块?

有没有办法区分 TextViews 或具有相同 ID 多次从单个 xml 文件膨胀的任何其他视图

scikit learn .9 或以下的随机森林

一一训练scikit svm(在线或随机训练)