閱讀489 返回首頁    go 技術社區[雲棲]


《Hadoop與大數據挖掘》一2.6 TF-IDF算法原理及Hadoop MapReduce實現

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

2.6 TF-IDF算法原理及Hadoop MapReduce實現

2.6.1 TF-IDF算法原理
原理:在一份給定的文件裏,詞頻(Term Frequency,TF)指的是某一個給定的詞語在該文件中出現的次數。這個數字通常會被正規化,以防止它偏向長的文件(同一個詞語在長文件裏可能會比在短文件裏有更高的詞頻,而不管該詞語重要與否)。逆向文件頻率(Inverse Document Frequency,IDF)是一個詞語普遍重要性的度量。某一特定詞語的IDF可以由總文件數目除以包含該詞語的文件的數目,再將得到的商取對數得到。某一特定文件內的高詞語頻率,以及該詞語在整個文件集合中的低文件頻率,可以產生出高權重的TF-IDF。因此,TF-IDF傾向於過濾掉常見的詞語,保留重要的詞語。
舉個例子來說,假如一篇文件的總詞語數是100個,而詞語“母牛”出現了3次,那麼“母牛”一詞在該文件中的詞頻就是3/100=0.03。一個計算文件頻率的方法是測定有多少份文件出現過“母牛”一詞,然後除以文件集裏包含的文件總數。所以,如果“母牛”一詞在1000份文件出現過,而文件總數是10 000 000份的話,其逆向文件頻率就是log(10 000 000/1 000)=4。最後的TF-IDF的分數為0.03×4=0.12。

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

  上一篇:go  《Hadoop與大數據挖掘》一2.6.2 Hadoop TF-IDF編程思路
  下一篇:go  《Hadoop與大數據挖掘》一2.5.4 Hadoop K-Means編程實現