我使用TfidfVectorizer来提取TF-IDF,但不知道它是如何计算这样的结果的。当我手动计算时,它给出了不同的答案,所以我想提取该函数计算的值以了解它是如何工作的。
data = ['Souvenir shop|Architecture and art|Culture and history', 'Souvenir shop|Resort|Diverse cuisine|Fishing|Folk games|Beautiful scenery', 'Diverse cuisine|Resort|Beautiful scenery']
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(data)
查看 scikit 文档的 attributes
部分。 试试这个:
print(vectorizer.vocabulary_)
输出
{'souvenir': 14,
'shop': 13,
'architecture': 1,
'and': 0,
'art': 2,
'culture': 5,
'history': 10,
'resort': 11,
'diverse': 6,
'cuisine': 4,
'fishing': 7,
'folk': 8,
'games': 9,
'beautiful': 3,
'scenery': 12}
您可以使用 print(vectorizer.idf_)
array([1.69314718, 1.69314718, 1.69314718, 1.28768207, 1.28768207,
1.69314718, 1.28768207, 1.69314718, 1.69314718, 1.69314718,
1.69314718, 1.28768207, 1.28768207, 1.28768207, 1.28768207])