聚類模型
- 1.K-means聚類算法
-
- 基本流程
- 更好的求解K的聚類中心的方法
- spss求解k均值聚類
- 3.層次聚類
-
- 基本流程
- 距離的介紹
- spss實作層次聚類
- 确定k值确定方法--用圖形估計聚類的數量
- 3.DBSCAN算法
1.K-means聚類算法
基本流程
(1)定義
将樣本劃分為由類似的對象組成的多個類的過程。聚類後,我們可以更加準确的在每個類中單獨使用統計模型進行估計、分析或預測;也可以探究不同類之間的相關性和主要差異。
同時也要區分于分類模型,分類已知類别,聚類不知道,隻是簡單的分類,下面來看看如何更好實作。
(2)步驟
1.指定需要劃分的簇的個數的K值,類的個數。
2.随機地選擇K個資料據對象作為初始的聚類中心,不一定要是我們的樣本點。
3.計算其餘的各個資料對象到這K個初始聚類中心的距離,把資料對象劃歸到距離它最近的那個中心所在的簇類中。
4.調整新類并且重新計算出新類的中心。
5.循環3和4,看中心是否收斂,如果收斂或者達到疊代次數就停止循環。

(3)優缺點
優點:
(1)算法簡單、快速。
(2)對處理大資料集,該算法是相對高效率的。
缺點:
(1)要求使用者必須事先給出要生成的簇的數目K。
(2)對初值敏感。
(3)對于孤立點資料敏感。
其中第二個和第三個可以通過k-means++來解決,即通過選取更好的初始值點。
更好的求解K的聚類中心的方法
有差別的是初始化K個聚類中心這個步驟,要求初始的聚類中心之間的互相距離要盡可能的遠。。
- 随機選取一個樣本作為第一個聚類中心;
- 計算每個樣本與目前已有聚類中心的最短距離(即與最近一個聚類中心的距離),這個值越大,表示被選取作為聚類中心的機率較大;最後,用輪盤法(依據機率大小來進行抽選)選出下一個聚類中心;
-
重複步驟二,直到選出K個聚類中心。選出初始點後,就繼續使用标準的K-means算法了。
在一開始就是使用的Kmean++算法,選取的兩個起始點盡可能遠,後面的步驟一樣。
10.聚類模型--相比分類模型事先不知道類别1.K-means聚類算法3.層次聚類3.DBSCAN算法 (4)遇到的問題-
1.k怎麼給,多嘗試一下,看k取值為多少好解釋不如剛剛的結果。
2 有量綱怎麼計算距離,資料量綱不一樣,計算距離就沒意義,解決方法就是進行标準化處理。
spss求解k均值聚類
那麼還有上面算法可以不需要指定一個k就可以呢?
采用下面的系統層次聚類就可以了。
3.層次聚類
基本流程
(1)定義
系統聚類的合并算法通過計算兩類資料點間的距離,對最為接近的兩類資料點進行組合,并反複疊代這一過程,直到将所有資料點合成一類,并生成聚類譜系圖。
(2)系統(層次)聚類的算法流程:
一、将每個對象看作一類,計算兩兩之間的最小距離;
二、将距離最小的兩個類合并成一個新類;
三、重新計算新類與所有類之間的距離;
四、重複二三兩步,直到所有類最後合并成一類;
五、結束。
距離的介紹
(1)歐式距離就是我們正常求的距離,絕對值距離多用在網狀距離
那麼現在我們怎麼定義名額和名額之間的距離呢:相關系數或者是夾角餘弦
把資料放在平面上,把接近的點分為一個類,對于類和類之間的距離,就有樣本取距離,把接近的點分為一類。
(2)類和類之間的距離
- 重心法,求重心,然後看距離
- 最短距離法:有多個樣本點,元素連接配接找最短距離
- 最長距離法
- 組間平均連接配接法,類之間的點全部連接配接起來,求平均
-
組内平均連接配接法 ,把組内的點連接配接起來求平均值
隻要解釋通,選那種方法都是可以的
(3)總結
系統聚類的流程圖在于選取類後再看類和類之間的距離,進行一定的調整,合并計算距離,如果距離小就聚成了一類,再計算類互相之間的距離看能不能聚在一起
再看裡面點之間的距離,再看看新類和其餘各類之間的距離,得到新的距離矩陣
最後使得矩陣中隻有一個元素
spss實作層次聚類
1.不同方法的差别在于計算新類和其餘各類之間的距離方法,分類的目的選擇名額,樣品間距離定義方式,聚類方法。尤其是樣品特别多的時候最好可以通過各種方法找出其中的共性。
2.要注意名額的量綱,差别太大會導緻聚類的結果不合理,需要标準化處理
3.得到的結果可能不滿意,因為可能隻是做的是數學上的處理,還需要對結果有一個合理的解釋就,如果不可以的話可以去換一種方法。
我們最後還可以根據譜系圖來決定最後分為多少個類。
可以看到不同的k可以得到不同的結果,最後取決于如何劃分。
确定k值确定方法–用圖形估計聚類的數量
确定完k後就可以儲存聚類結果然後畫圖了
3.DBSCAN算法
基于密度的聚類算法,聚類前不需要預先指定聚類的個數,生成的簇不穩定,可以生成特定的圖形,一定區域内包含的對象不少于一定的門檻值。
在具有噪聲的空間資料庫中發現容易形狀的簇,可以把密度足夠大的相鄰區域連接配接,可以有效處理異常資料(有偏移的點)
從圖中可以看成,這個算法比較适合形狀獨特的圖形。
DBSCAN算法将資料點分為三類:
• 核心點:在半徑Eps内含有不少于MinPts數目的點
• 邊界點:在半徑Eps内點的數量小于MinPts,但是落在核心點的鄰域内
• 噪音點:既不是核心點也不是邊界點的點
優點:
- 基于密度定義,能處理任意形狀和大小的簇;
- 可在聚類的同時發現異常點;
- 與K-means比較起來,不需要輸入要劃分的聚類個數。
缺點:
- 對輸入參數ε和Minpts敏感,确定參數困難;
- 由于DBSCAN算法中,變量ε和Minpts是全局唯一的,當聚類的密度不均勻時,聚類距離相差很大時,聚類品質差;
- 當資料量大時,計算密度單元的計算複雜度大。