[英]Tf-Idf calculation in python
我是python的新手,我想編寫一個函數,該函數在給定兩個參數的情況下計算術語頻率反文檔頻率。
參數:docs ........列表列表,其中每個子列表包含一個文檔的標記。 doc_freqs ... dict從術語到文檔的頻率(特定術語有多少個文檔)。
所需輸出:
index = create_tfidf_index([['a', 'b', 'a'], ['a']], {'a': 2., 'b': 1., 'c': 1.})
index['a']
[[0, 0.0], [1, 0.0]]
index['b']
[[0, 0.301...]]
我的代碼來找到doc_freq(tfidf函數中的第二個參數)
def count_doc_frequencies(docs):
tmp = []
lst = {}
for item in docs: tmp += set(item)
for key in tmp: lst[key] = lst.get(key, 0) + 1
return lst
res = Index().count_doc_frequencies([['a', 'b', 'a'], ['a', 'b', 'c'], ['a']])
res['a']
3
現在任何人都可以幫助我如何使用上述兩個參數計算tf-idf並產生如圖所示的輸出。
請幫助大家!!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.