【数据挖掘】数据挖掘总结 ( K-Means 聚类算法 | 二维数据的 K-Means 聚类 ) ★
文章目錄
- 一、 K-Means 聚類算法流程
- 二、 二維數(shù)據(jù)的 K-Means 聚類
- 1、 第一次迭代
- 2、 第二次迭代
參考博客 :
- 【數(shù)據(jù)挖掘】聚類算法 簡介 ( 基于劃分的聚類方法 | 基于層次的聚類方法 | 基于密度的聚類方法 | 基于方格的聚類方法 | 基于模型的聚類方法 )
- 【數(shù)據(jù)挖掘】基于劃分的聚類方法 ( K-Means 算法簡介 | K-Means 算法步驟 | K-Means 圖示 )
- 【數(shù)據(jù)挖掘】K-Means 一維數(shù)據(jù)聚類分析示例
- 【數(shù)據(jù)挖掘】K-Means 二維數(shù)據(jù)聚類分析 ( K-Means 迭代總結(jié) | K-Means 初始中心點(diǎn)選擇方案 | K-Means 算法優(yōu)缺點(diǎn) | K-Means 算法變種 )
一、 K-Means 聚類算法流程
K-Means 算法 步驟 : 給定數(shù)據(jù)集 X\rm XX , 該數(shù)據(jù)集有 n\rm nn 個(gè)樣本 , 將其分成 K\rm KK 個(gè)聚類 ;
① 中心點(diǎn)初始化 : 為 K\rm KK 個(gè)聚類分組選擇初始的中心點(diǎn) , 這些中心點(diǎn)稱為 Means ; 可以依據(jù)經(jīng)驗(yàn) , 也可以隨意選擇 ;
② 計(jì)算距離 : 計(jì)算 n\rm nn 個(gè)對象與 K\rm KK 個(gè)中心點(diǎn) 的距離 ; ( 共計(jì)算 n×K\rm n \times Kn×K 次 )
③ 聚類分組 : 每個(gè)對象與 K\rm KK 個(gè)中心點(diǎn)的值已計(jì)算出 , 將每個(gè)對象分配給距離其最近的中心點(diǎn)對應(yīng)的聚類 ;
④ 計(jì)算中心點(diǎn) : 根據(jù)聚類分組中的樣本 , 計(jì)算每個(gè)聚類的中心點(diǎn) ;
⑤ 迭代直至收斂 : 迭代執(zhí)行 ② ③ ④ 步驟 , 直到 聚類算法收斂 , 即 中心點(diǎn) 和 分組 經(jīng)過多少次迭代都不再改變 , 也就是本次計(jì)算的中心點(diǎn)與上一次的中心點(diǎn)一樣 ;
給定 一組樣本 , 和 一組中心點(diǎn) , 計(jì)算 所有樣本 到 所有中心點(diǎn) 的距離 , 給樣本 分組 , 計(jì)算分好組的樣本的中心點(diǎn) , 重新計(jì)算所有樣本到所有中心點(diǎn)的距離 , 繼續(xù)進(jìn)行分組 , 一直迭代執(zhí)行上述操作 , 直到連續(xù)兩次樣本分組不再變化 ;
二、 二維數(shù)據(jù)的 K-Means 聚類
給定數(shù)據(jù)集 {A1(2,4),A2(3,7),B1(5,8),B2(9,5),C1(6,2),C2(4,9)}\rm \{ A_1 ( 2 , 4 ) , A_2 ( 3 , 7 ) , B_1 ( 5 , 8 ) , B_2 ( 9 , 5 ) , C_1 ( 6 , 2 ) , C_2 ( 4 , 9 ) \}{A1?(2,4),A2?(3,7),B1?(5,8),B2?(9,5),C1?(6,2),C2?(4,9)} , 初始中心點(diǎn) {A1(2,4),B1(5,8),C1(6,2)}\rm \{ A_1 ( 2 , 4 ) , B_1 ( 5 , 8 ) , C_1 ( 6 , 2 ) \}{A1?(2,4),B1?(5,8),C1?(6,2)} , 使用 K-Means 算法對數(shù)據(jù)集進(jìn)行聚類分析 ;
曼哈頓距離計(jì)算方式 : 以計(jì)算 A1(2,4)\rm A_1 ( 2 , 4 )A1?(2,4) 與 B1(5,8)\rm B_1 ( 5 , 8 )B1?(5,8) 的距離為例 ;
d(A1,B1)=∣2?5∣+∣4?8∣=7\rm d(A_1 , B_1) = | 2-5 | + | 4-8 | = 7d(A1?,B1?)=∣2?5∣+∣4?8∣=7
1、 第一次迭代
第一次迭代 : 計(jì)算每個(gè)樣本值與每個(gè)中心點(diǎn)的距離 , 將樣本分類到最近的中心點(diǎn)所在的分組 , 計(jì)算每個(gè)分組新的中心值 ;
| A1(2,4)A_1 ( 2 , 4 )A1?(2,4) | 000 | 444 | 777 | 888 | 666 | 777 |
| B1(5,8)B_1 ( 5 , 8 )B1?(5,8) | 777 | 333 | 000 | 777 | 777 | 222 |
| C1(6,2)C_1 ( 6 , 2 )C1?(6,2) | 666 | 888 | 777 | 666 | 000 | 999 |
新的聚類分組 :
① 聚類 111 : {A1}\{ A_1 \}{A1?}
② 聚類 222 : {A2,B1,C2}\{ A_2 , B_1 , C_2 \}{A2?,B1?,C2?}
③ 聚類 333 : {B2,C1}\{ B_2 , C_1 \}{B2?,C1?}
新的中心點(diǎn)計(jì)算 :
C1=(2,4)\rm C_1 = (2, 4)C1?=(2,4)
C2=(3+5+43,7+8+93)=(4,8)\rm C_2 =( \cfrac{3 + 5 + 4}{3} , \cfrac{7 + 8 + 9}{3}) = ( 4 , 8 )C2?=(33+5+4?,37+8+9?)=(4,8)
C3=(9+62,5+22)=(7,3)\rm C_3 = ( \cfrac{9 + 6 }{2} , \cfrac{5 + 2}{2}) = ( 7 , 3 )C3?=(29+6?,25+2?)=(7,3)
2、 第二次迭代
第二次迭代 : 計(jì)算每個(gè)樣本值與每個(gè)中心點(diǎn)的距離 , 將樣本分類到最近的中心點(diǎn)所在的分組 , 計(jì)算每個(gè)分組新的中心值 ;
| (2,4)( 2 , 4 )(2,4) | 000 | 444 | 777 | 888 | 666 | 777 |
| (4,8)( 4 , 8 )(4,8) | 666 | 222 | 111 | 888 | 888 | 111 |
| (7,3)( 7 , 3 )(7,3) | 666 | 888 | 777 | 444 | 222 | 999 |
新的聚類分組 :
① 聚類 111 : {A1}\{ A_1 \}{A1?}
② 聚類 222 : {A2,B1,C2}\{ A_2 , B_1 , C_2 \}{A2?,B1?,C2?}
③ 聚類 333 : {B2,C1}\{ B_2 , C_1 \}{B2?,C1?}
新的中心點(diǎn)計(jì)算 :
C1=(2,4)\rm C_1 = (2, 4)C1?=(2,4)
C2=(3+5+43,7+8+93)=(4,8)\rm C_2 =( \cfrac{3 + 5 + 4}{3} , \cfrac{7 + 8 + 9}{3}) = ( 4 , 8 )C2?=(33+5+4?,37+8+9?)=(4,8)
C3=(9+62,5+22)=(7,3)\rm C_3 = ( \cfrac{9 + 6 }{2} , \cfrac{5 + 2}{2}) = ( 7 , 3 )C3?=(29+6?,25+2?)=(7,3)
第二次迭代與第一次迭代值相同 , 因此第三次迭代的結(jié)果就是 K-Means 聚類算法最終結(jié)果 ;
詳細(xì)解析參考 【數(shù)據(jù)挖掘】K-Means 二維數(shù)據(jù)聚類分析 ( K-Means 迭代總結(jié) | K-Means 初始中心點(diǎn)選擇方案 | K-Means 算法優(yōu)缺點(diǎn) | K-Means 算法變種 )
總結(jié)
以上是生活随笔為你收集整理的【数据挖掘】数据挖掘总结 ( K-Means 聚类算法 | 二维数据的 K-Means 聚类 ) ★的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据挖掘】数据挖掘总结 ( 拉普拉斯修
- 下一篇: 【CMake】CMake 引入 ( An