閱讀728 返回首頁    go 阿裏雲 go 技術社區[雲棲]


《Hadoop與大數據挖掘》一2.6.2 Hadoop TF-IDF編程思路

本節書摘來華章計算機《Hadoop與大數據挖掘》一書中的第2章 ,第2.6.2節,張良均 樊 哲 位文超 劉名軍 許國傑 周 龍 焦正升 著 更多章節內容可以訪問雲棲社區“華章計算機”公眾號查看。

2.6.2 Hadoop TF-IDF編程思路

這裏不再給出TF-IDF的單機算法實現,而直接給出其Hadoop算法實現思路,如圖2-52所示。
具體算法描述如下。
Job1:針對每個文件集中的每個輸入文件,分別統計其各個單詞出現的次數,輸出為<單詞w|文件名f,該單詞w在文件f中出現的次數f-w-count>。
Job2:針對Job1的輸出,統計文件f中所有單詞的個數(及一共有多少個唯一的單詞),輸出為<單詞w|文件名f,該單詞w在文件f中出現的次數f-w-count |文件f中的單詞數f-length>。


image


Job3:先統計文件集的文件個數length;然後,根據Job2的輸出,統計每個單詞在所有文件集中出現的文件個數,輸出<單詞w, [文件名f1=f1-w-count|f1-length, 文件名f2=f2-w-count|f2-length,…]>(根據這裏的數據即可得到單詞w一共在k個文件中出現)。根據這樣的記錄即可求得<單詞w|文件名f1, f1-w-count|f1-length *log(length/k)>, 單詞w|文件名f2, f2-w-count|f2-length *log(length/k)>,即:<單詞w|文件名f1,tf-idf-f1-w>,也就是每個單詞在文件中的權重TF-IDF。
其MapReduce數據流如圖2-53所示。

最後更新:2017-06-26 11:01:53

  上一篇:go  《Hadoop與大數據挖掘》一2.6.3 Hadoop TF-IDF編程實現
  下一篇:go  《Hadoop與大數據挖掘》一2.6 TF-IDF算法原理及Hadoop MapReduce實現