有没有办法使用 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_ 提取。

1
2
3
4
5
6
7
8
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 值:

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