1,除法
給定具有n個元組或記錄的數據集,劃分方法將構造k個組,每個組代表壹個聚類,k小於n..並且這些k個基團滿足以下條件:
(1)每個數據包至少包含壹個數據記錄;
(2)每個數據記錄只屬於壹個組(註:在某些模糊聚類算法中可以放寬這壹要求);
2.層序法
分層方法,將給定的數據集分層分解,直到滿足某些條件。具體來說,可以分為“自下而上”和“自上而下”兩種方案。
例如,在“自底向上”方案中,每個數據記錄最初形成壹個單獨的組,在下壹次叠代中,它將那些彼此相鄰的組合成壹個組,直到所有記錄形成壹個組或滿足某個條件。
3.密度算法
基於密度的方法,基於密度的方法與其他方法的壹個根本區別在於,它不是基於各種距離,而是基於密度。這可以克服基於距離的算法只能發現“圓形”聚類的缺點。
4.圖形聚類方法
圖論聚類方法的第壹步是建立適合問題的圖。圖的節點對應於被分析數據的最小單元,圖的邊(或弧)對應於最小處理單元的數據之間的相似性度量。因此,每個最小處理單元數據之間會有壹個度量表達式,這保證了數據的局部特征更容易處理。圖聚類方法以樣本數據的局部聯系特征作為聚類的主要信息源,因此其主要優點是易於處理局部數據。
5.網格算法
基於網格的方法,這種方法首先將數據空間劃分為有限個單元的網格結構,所有的處理都是針對單個單元的。這種處理的壹個突出優點是速度非常快。通常,這與目標數據庫中的記錄數量無關,只與數據空間被劃分成多少個單元有關。
代表性算法有:STING算法、CLIQUE算法、WAVE-CLUSTER算法;
6.模型算法
基於模型的方法,為每個聚類假設壹個模型,然後找到壹個能很好地滿足這個模型的數據集。這樣的模型可能是空間中數據點的密度分布函數或者別的什麽。它的壹個潛在假設是目標數據集是由壹系列概率分布決定的。
通常有兩種嘗試:統計方案和神經網絡方案。
擴展數據:
聚類算法的要求:
1,可擴展性
許多聚類算法適用於少於200個數據對象的小型數據集。然而,大規模數據庫可能包含數百萬個對象,在如此大的數據集樣本上進行聚類可能會導致有偏差的結果。
我們需要壹個高可擴展性的聚類算法。
2.不同的屬性
許多算法被設計成對數字數據進行聚類。但是,應用程序可能需要對其他類型的數據進行聚類,例如二進制、分類/名義、序數或這些數據類型的混合。
3、任何形狀
許多聚類算法基於歐幾裏德或曼哈頓距離度量來決定聚類。基於這種距離度量的算法傾向於找到具有相似尺度和密度的球形集群。然而,簇的形狀可以是任意的。提出壹種能夠發現任意形狀的聚類的算法是非常重要的。
4、疇最小化
許多聚類算法要求用戶在聚類分析中輸入某些參數,例如他們想要生成的聚類數。聚類結果對輸入參數非常敏感。參數通常很難確定,尤其是對於包含高維對象的數據集。這不僅增加了用戶的負擔,也使得聚類的質量難以控制。
5.處理“噪音”
大多數真實的數據庫包含離群值、缺失或錯誤的數據。壹些聚類算法對此類數據很敏感,這可能導致低質量的聚類結果。
6.記錄順序
壹些聚類算法對輸入數據的順序很敏感。例如,相同的數據集,當以不同的順序交給相同的算法時,可能會產生非常不同的聚類結果。開發對數據輸入順序不敏感的算法具有重要意義。
參考資料:
百度百科-聚類算法