《數據挖掘導論》實驗課——實驗7、數據挖掘之K-means聚類算法

實驗7、數據挖掘之K-means聚類算法

1、實驗目的

1. 理解K-means聚類算法的基本原理

2. 學會用python實現K-means算法

2、實驗工具

1. Anaconda

2. sklearn

3. matplotlib

3、實驗簡介

1 K-means算法簡介

k-means算法是一種聚類算法,所謂聚類,即根據類似性原則,將具備較高類似度的數據對象劃分至同一類簇,將具備較高相異度的數據對象劃分至不一樣類簇。聚類與分類最大的區別在於,聚類過程爲無監督過程,即待處理數據對象沒有任何先驗知識,而分類過程爲有監督過程,即存在有先驗知識的訓練數據集。python

2 K-means算法原理

k-means算法中的k表明類簇個數,means表明類簇內數據對象的均值(這種均值是一種對類簇中心的描述),所以,k-means算法又稱爲k-均值算法。k-means算法是一種基於劃分的聚類算法,以距離做爲數據對象間類似性度量的標準,即數據對象間的距離越小,則它們的類似性越高,則它們越有可能在同一個類簇。數據對象間距離的計算有不少種,k-means算法一般採用歐氏距離來計算數據對象間的距離算法

4、實驗內容

1. 隨機生成100個數,並對這100個數進行k-mean聚類(k=3,4,5,6)(並用matplot畫圖)

1) 隨機建立100個樣本的二維數據做爲訓練集

image.png

2)k=3進行聚類

image.png

3)k=4進行聚類

image.png

4)k=5 進行聚類

image.png

5)k=6進行聚類,並觀察簇分佈

image.png

2. 對鳶尾花數據進行K-means算法聚類(並用matplot畫圖)。

image.png

5、實驗總結(寫出本次實驗的收穫,遇到的問題等)

經過本次實驗的學習與操做,我掌握了KMeans算法的基本原理,以及使用sklearn方便的進行聚類構造的方法。而且使用matplot畫圖,形象直觀地看出了K=3,4,5時不一樣的簇分佈狀況。工具

相關文章
相關標籤/搜索