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


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

一、實驗目的

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

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

二、實驗工具

1. Anaconda

2. sklearn

3. matplotlib

三、實驗簡介

1 K-means算法簡介

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

2 K-means算法原理

k-means算法中的k代表類簇個數,means代表類簇內數據對象的均值(這種均值是一種對類簇中心的描述),因此,k-means算法又稱為k-均值算法。k-means算法是一種基於划分的聚類算法,以距離作為數據對象間相似性度量的標准,即數據對象間的距離越小,則它們的相似性越高,則它們越有可能在同一個類簇。數據對象間距離的計算有很多種,k-means算法通常采用歐氏距離來計算數據對象間的距離

四、實驗內容

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

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

通過本次實驗的學習與操作,我掌握了KMeans算法的基本原理,以及使用sklearn方便的進行聚類構造的方法。並且使用matplot畫圖,形象直觀地看出了K=3,4,5時不同的簇分布情況。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM