K均值聚類演算法

2021-09-24 23:00:12 字數 803 閱讀 7204

1 隨機選取k個物件作為初始的聚類中心

2 計算每個物件與各個子聚類中心之間的距離,把每個物件分配給距離它最近的聚類中心

3 聚類的中心根據聚類中現有的物件被重新計算

4 重複2-3直到滿足某個終止條件。終止條件:沒有物件被重新分配給不同的聚類,沒有聚類中心再發生變化,誤差平方和區域性最小

k值的確定:

1 經驗法:結合業務的場景和需求,來決定分幾類以確定k值

2 肘部法:在使用聚類演算法時,如果沒有指定聚類的數量,可以通過肘部法來對k值進行確定。肘部法是通過成本函式來刻畫的,通過將不同k值成本函式刻畫出來,隨著k值的增大,平均畸變程度會不斷減小且每個類包含的樣本數會減少,於是樣本離其中心會更近。但是,隨著值繼續增大,平均畸變程度的改善效果會不斷減低。因此找出k值增大的過程中,畸變程度下降幅度最大的位置所對應的k較為合理。

3 規則法:k = sqrt(n / 2),此種方法存在一定缺點,可能導致聚類的數目較大

評價指標:

1 樣本離最近聚類中心的總和 (inertias)

表示樣本距離最近的聚類中心的總和,它是作為在沒有真實分類標籤下的非監督式評估指標,該值越小越好,值越小證明樣本在類間的分布越集中,即類內的距離越小

2 輪廓係數    3 蘭德指數    4 同質化得分

優缺點:

優點:1 原理簡單,容易實現且收斂速度快;2 聚類效果較好

缺點:1 k值的選取不好確定;2 對於不是凸的資料集比較難收斂;3 如果各隱含類別的資料不平衡,比如各隱含類別的資料量嚴重失衡,或者各隱含類別的方差不同,則聚類效果較差;4 採用迭代法,得到的結果只是區域性最優;5 對噪音和異常點比較敏感。

k均值聚類演算法

輸入 簇的數目k和包含n個物件的資料庫。輸出 k個簇,使平方誤差準則最小。演算法步驟 1.為每個聚類確定乙個初始聚類中心,這樣就有k 個初始聚類中心。2.將樣本集中的樣本按照最小距離原則分配到最鄰近聚類 3.使用每個聚類中的樣本均值作為新的聚類中心。4.重複步驟2.3直到聚類中心不再變化。5.結束,...

K 均值聚類演算法

from numpy import 建立元組 dataset 與我們所熟悉的矩陣類似,最終我們將獲得n 2的矩陣,filein open home zengxl pycharmprojects test3 機器學習實戰 ch10 testset.txt 是正斜槓 for line in filein...

K 均值聚類演算法

k means演算法是最簡單的一種聚類演算法。演算法的目的是使各個樣本與所在類均值的誤差平方和達到最小 這也是評價k means演算法最後聚類效果的評價標準 k means聚類演算法的一般步驟 初始化。輸入基因表達矩陣作為物件集x,輸入指定聚類類數n,並在x中隨機選取n個物件作為初始聚類中心。設定迭...