2017-06-01 19 views

回答

0

以這從Wikipedia Article說明對固化算法

簡短的回答是運行的複雜性

  • 運行時間爲O(n^2的log(n) )
  • 空間複雜度爲O(n)

對於數據庫應用程序,這是一個相當高的運行的複雜性,所以你可能將它的問題直接向大型數據庫

根據維基百科,這個限制可以使用以下方法

    得到緩解
  • 隨機抽樣:隨機抽樣支持大數據集。通常隨機樣本適合主存儲器。隨機抽樣涉及精度和效率之間的折衷。
  • 分區:基本思想是將樣本空間分割成p個分區。每個分區都包含n/p個元素。第一遍對每個分區進行部分聚類,直到對於某個常數q≥1最終聚類數減少到n/pq。對n/q進行第二次聚類傳遞部分聚類分區。對於第二遍,僅存儲代表點,因爲在計算合併羣集的代表點之前,合併過程僅需要先前羣集的代表點。分割輸入會減少執行時間。
  • 在磁盤上標記數據:僅給定k個羣集的代表點,其餘數據點也會分配給羣集。爲此,選擇k個簇中每個簇的隨機選擇的代表點的一小部分,並將數據點分配給包含最接近它的代表點的簇。