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

Is there a way to get only the IDF values of words using scikit or any other python package?

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

您可以只使用带 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_ 

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

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