1. 聚類算法
聚類:數據對象的集合
在同一個聚類中的對象彼此相似不同聚類中的對象則差別較大聚類分析將物理或抽象對象的集合分組成為由類似的對象組成的多個類的過程聚類是一種無指導的學習:沒有預定義的類別,觀察式學習聚類分析的典型應用在GIS系統中,對相似區域進行聚類,產生主題地圖檢測空間聚類,並給出它們在空間數據挖掘中的解釋圖像處理商務應用中,幫市場分析人員發現不同的顧客群對WEB日誌的數據進行聚類,以發現相同的用戶訪問模式常見的聚類算法
基於劃分的方法:K-means算法基於層次的方法:CURE算法基於密度的方法:DBSCAN算法
2. k-means聚類算法
簡介
K-means聚類算法就是基於距離的聚類算法(clusteralgorithm)主要通過不斷地取離種子點最近均值的算法
k-means聚類算的原理
一、指定需要劃分的簇的個數k值;二、隨機地選擇k個初始數據對象點作為初始的聚類中心;三、計算其餘的各個數據對象到這k個初始聚類中心的距離,把數據對劃歸到距離它最近的那個中心所處在的簇類中;四、調整新類並且重新計算出新類的中心。五、計算聚類準則函數E,若E不滿足收斂條件。重複二、三、四,六、結束
距離的計算
我們都是以歐拉距離來計算與種子點的距離。但是,還有幾種可以用於k-means的距離計算方法。閔可夫斯基距離——λ可以隨意取值,可以是負數,也可以是正數,或是無窮大。
歐拉公式——也就是第一個公式λ=2的情況
曼哈頓距離——也就是第一個公式λ=1的情況
k-means距離算法的特點及應用
優點:算法簡單、快速對處理大數據集,該算法是相對可伸縮的和高效率的。算法嘗試找出使平方誤差函數值最小的k個劃分。缺點K-means聚類算法只有在簇的平均值被定義的情況下才能使用。要求用戶必須事先給出要生成的簇的數目k。對初值敏感。不適合於發現非凸面形狀的簇,或者大小差別很大的簇。對於「噪聲」和孤立點數據敏感k-means聚類算法的核心代碼