資料探勘中是如何計算度量的?


度量可以組織成三個要素,包括分散式、代數式和整體式。這取決於所使用的聚合函式的型別。

分散式 - 如果一個聚合函式可以以如下所示的分散式方式計算,則該函式是分散式的。假設資料被獨立地劃分為n個集合。它可以對每個分割槽使用該函式,從而得到n個聚合值。

如果將該函式應用於n個聚合值的結果與將該函式應用於整個資料集(不進行分割槽)的結果相同,則該函式可以以分散式方式計算。

例如,count() 可以透過首先將資料立方體劃分為一組子立方體,計算每個子立方體的 count(),然後將每個子立方體獲得的計數相加來計算資料立方體的 count()。因此,count() 是一個分散式聚合函式。

如果一個度量是透過使用分散式聚合函式獲得的,則該度量是分散式的。分散式度量可以有效地計算,因為它們可以以分散式方式計算。

代數式 - 如果一個聚合函式可以透過一個具有M個引數(其中M是一個有界的正整數)的代數函式計算,並且每個引數都是透過使用分散式聚合函式獲得的,則該函式是代數式的。

例如,avg()(平均值)可以透過 sum()/count() 計算,其中 sum() 和 count() 都是分散式聚合函式。同樣,可以證明 min N() 和 max N()(分別在一個給定集合中查詢N個最小值和N個最大值)以及標準差() 都是代數聚合函式。如果一個度量是透過使用代數聚合函式獲得的,則該度量是代數式的。

整體式 - 如果沒有固定的界限來限制定義子聚合所需的儲存大小,則一個聚合函式是整體式的。如果沒有一個具有M個引數(其中M是常數)的代數函式來描述計算過程。

整體式函式的示例包括 median()、mode() 和 rank()。如果一個度量是透過使用整體式聚合函式獲得的,則該度量是整體式的。

大多數大型資料立方體應用程式都需要有效地計算分散式和代數度量。為此存在一些有效的方法。相反,有效地計算整體式度量是很複雜的。然而,確實存在一些有效的方法來近似計算某些整體式度量。

例如,可以不用計算精確的 median(),而是使用近似方法來計算大型資料集的近似中位數。在某些情況下,此類方法足以克服有效計算整體式度量的困難。

更新於:2022年2月16日

2K+ 次檢視

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.