這個例子是使用hadoop來實現tf-idf。
tf-idf
(term frequency–inverse document frequency
因為要實現的細節比較多,所以我直接將**放上來。大家可以參看**裡面的注釋,我寫的比較詳細。
我採用了兩個mapreduce任務順序執行來實現tf-idf功能。
最後,我再針對此**補充幾點。
1:因為hadoop對處理小檔案的效率比較低,如果需要處理很多小檔案,我推薦大家可以將很多小檔案合併成乙個sequencefile,用檔名作為key,內容作為value。然後處理sequencefile檔案,提高效率
本**是根據輸入的檔案數來確定reducetask數和最後的檔案輸出數,大家也可以自己修改。最後檔案的輸出內容也是無序的,如果大家需要可以參看本博的另一篇博文(進行多檔案輸出。
3:本文只是提供乙個簡單的思路,如果**中有什麼不對的地方請各位大大不要見笑,和給偶提出來,在下感激不盡。
TF IDF計算方法
例1 有很多不同的數學公式可以用來計算tf idf。這邊的例子以上述的數學公式來計算。詞頻 tf 是一詞語出現的次數除以該檔案的總詞語數。假如一篇檔案的總詞語數是100個,而詞語 母牛 出現了3次,那麼 母牛 一詞在該檔案中的詞頻就是3 100 0.03。乙個計算檔案頻率 idf 的方法是測定有多少...
(三)計算TF IDF的值
1 共有m篇文件 2 第i篇文件,包含ki個詞 3 第i篇文件,詞j出現的次數,記為ci,j 4 含有詞j的文件一共有lj篇tf term frequency 詞頻 某個詞在該文件中出現的頻率 idf inverse document frequency 逆文件頻率 總文件數m與含有詞i的文件數的比...
TF IDF的計算方法
使用sklearn提取文字tfidf特徵 參考 或者 語料庫 corpus this is the first document this is the second second document and the third one is this the first document from ...