本節書摘來自華章社群《clojure資料分析秘笈》一書中的第5章,第2.6節調整詞頻值的度量,作者(美)eric rochester,更多章節内容可以通路雲栖社群“華章社群”公衆号檢視
2.6 調整詞頻值的度量
标準化數值的一種方式是根據組的大小來度量其頻率。例如,單詞truth在一個文檔中出現三次。如果這個文檔有30個單詞是一種意義,然而如果這個文檔有300個單詞或者3000個單詞就會有不同的意義。如果資料集中的文檔長度不一,如何跨文檔比較單詞的頻率?
本方法中将根據文檔的總詞數調整單詞頻率。
2.6.1 準備工作
本方法中不需要太多工具。然而,如果在repl中有一個較好的輸出工具,工作會變得容易些。使用如下指令:

可以立即看到調整後的值更容易進行比較。例如,調整後的頻率可以互相比較,然而未經調整的頻率卻不能(調整後0.53和0.5,調整前92和3)。當然,由于這不是一個真實的資料集,這些頻率沒有實際意義,但這展示了方法和如何改善資料集。
2.6.3 實作原理
對于每個函數,傳入一對鍵:源鍵和目的鍵。第一個函數rescale-by-total将源鍵對應的值加和,然後将目的鍵設定成這個值與集合中所有項目中源鍵對應值的和的比例。
第二個函數rescale-by-group使用另一個鍵:組鍵(group key)。它根據組鍵對所有項目排序分組,并将每個組傳給rescale-by-total函數。