cluster 聚類分析

2021-08-26 06:36:42 字數 1946 閱讀 7866

聚類分析被稱之為unsupervised分析,乙個跟它相似的概念是分類(classification)模型,不同的是,分類模型預先知道 一共有幾個類別,每個類別的定義是什麼,所以叫做supervised。聚類分析預先不知道目標分成哪幾類。往往在實際中,先用cluster分成一些 類,然後有了這些類之後,可以再可以做classification分析,就是所謂的two steps analytisis.

聚類分析的演算法主要基於「距離」的計算。聚類之後的結果要盡量保證每個segment內部的物件之間距離要短, segment之間的距離要長。這篇部落格的內容總結自han jiawei的書,這本書可以在這篇部落格裡找到: 分享讀書筆記data mining concepts and techniques

關於距離:

如果有n個物件,每個物件有p個屬性,那麼可以得到這樣乙個矩陣:

距離通常是用另乙個變形後的矩陣來做的:

其中d(2,1)表示第二個物件第乙個屬性和第乙個物件第乙個屬性之間的距離。

對於連續型變數(interval)的,通常要對資料預先做標準化「standardiz」,方式如下:

1. 算mean absolute deviation.

2. 得出標準度量(不知道怎麼翻譯,standardized measurement)

3.最後結果:

對 於二值型(binary)的, 有兩種,一種是均衡型的(symmetric),另一種是非均衡型的(asymmetric),均衡指的是yes or no兩種狀態權重一樣。比如如果你沒有性別歧視的話,性別是均衡的二值變數。如果通過一系列症狀診斷乙個人是否生病了,yes比no的權重要大的多。

兩種形式都通過下面這個2x2的表來算距離:

對於均衡型的,

對於非均衡型的

對於類別型(categorical)的變數,比較簡單

where m is the number of matches (i.e., the number of variables for which i and  j are

in the same state), and p is the total number of variables.

對於順序型(ordinal)的變數,要先把順序map成[0.0,1.0]之間的數,然後按interval的方式來算。直接上截圖,因為太多數學符號了

書上對每種計算基本都有例子。

關於聚類方法:

有partitioning, hierarchical, density-based, grid-based, model-based, clustering high-dimensional, constraint-based.

partitioning方法:

代表方法是k-means:

它的大致演算法是,選定k值(最後要分成多少組)後,任選k個object作為cluster的中心,然後對每個其他的物件計算離哪個中心最近,就歸到哪個cluster裡,最後從每個cluster中找到新的中心,然後這樣重複計算,直到聚類沒有變化為止。

hierarchical方法:

分 agglomerative和divisive兩種,前者是自底向上的,就是乙個乙個object merge出乙個segment,後者相反,自頂向下的。 上面說的k-means方法有時候和hierarchical聯在一起用,因為k-means需要k作為引數,這個引數還挺重要的,極大影響了聚類的結 果,可以先用hierarchical看看大致分幾類合理,然後再用k-means。

density-based方法:

基於距離的演算法segment都是類球形的,density-based克服了這個問題。他的理念基本上是,乙個物件為中心畫個圓,看看圈近來的物件過沒過threshold.

grid-based:

它是從上往下分層,底層grid粒度更細。它的特點是是scalability比較好。沒細看理論,但是看圖能感覺個大概。

constraint-based:

聚類分析(一) 什麼是聚類分析

將一群物理物件或者抽象物件的劃分成相似的物件類的過程。其中類簇是資料物件的集合,在類簇中所有的物件都彼此相似,而類簇與類簇之間的物件是彼此相異。聚類除了可以用於資料分割 data segmentation 也可以用於離群點檢測 outlier detection 所謂的離群點指的是與 普通 點相對應...

聚類分析(一) 什麼是聚類分析

將一群物理物件或者抽象物件的劃分成相似的物件類的過程。其中類簇是資料物件的集合,在類簇中所有的物件都彼此相似,而類簇與類簇之間的物件是彼此相異。聚類除了可以用於資料分割 data segmentation 也可以用於離群點檢測 outlier detection 所謂的離群點指的是與 普通 點相對應...

聚類分析筆記

1.什麼是聚類 定義 將無力或抽象物件的集合分組成為由類似的物件組成的多個類的過程被稱為聚類。由聚類所生成的簇是一組資料物件的集合,這些物件與同乙個簇中的物件彼此相似,與其他簇中的物件相異。與分類的區別,分類是有指導學習 類數目已知 聚類是無指導學習 類數目未知 典型應用 商務上,分析不同的客戶群,...