【发布时间】:2019-08-13 00:32:06
【问题描述】:
我正在努力弄清楚如何解释和协调来自 sklearn TfidfVectorizer 的 TF-IDF 分数。 为了说明,我有一个非常简单的例子:
from sklearn.feature_extraction.text import
TfidfVectorizer
data = ['dog is sitting on bed', 'cat is
sitting on sofa', 'where is that dog']
vector = TfidfVectorizer()
tfidf = vector.fit_transform(data)
df = pd.DataFrame(tfidf.toarray(), columns =
vector.get_feature_names())
df
结果是: print(df)
如果我在第一句话中手动计算假设“狗”的 TF-IDF,我会计算 TF 1/5 = 0.2,因为“狗”是 5 个词之一。然后我会计算“狗”的 IDF:它出现在 3 个句子中有 2 个 log(3/2) = 0.176。 然后我乘以 0.2 * 0.176 = 0.0352。 我的问题是,第一行中“狗”的 0.433067 数字是如何计算的?
【问题讨论】:
标签: python scikit-learn tfidfvectorizer