K means聚類演算法實現分類

2021-09-25 08:21:04 字數 606 閱讀 8321

k-means屬於無監督學習

from numpy import vstack

from scipy.cluster.vq import kmeans, vq

list1 = [88.0, 64.0, 96.0, 85.0]

list2 = [92.0, 99.0, 95.0, 94.0]

list3 = [91.0, 87.0, 99.0, 95.0]

list4 = [78.0, 99.0, 97.0, 81.0]

list5 = [88.0, 78.0, 98.0, 84.0]

list6 = [100.0, 95.0, 100, 92.0]

data = vstack((list1, list2, list3, list4, list5, list6)) # vstack: 堆積成績資料

centroids, _ = kmeans(data, 3) # 返回聚類中心, 2:表示分類的數目

result, _ = vq(data, centroids) # vq函式用來獲取每一位同學所屬的類別

print(result)

輸出結果:[2 0 0 1 2 0] 將6組資料分類

Matlab實現k means聚類演算法

k means是聚類中的乙個十分經典的演算法,具體的思想可以參考andrew ng的講義 the k means clustering algorithm 這裡不再贅述。需要用到matlab中的核心函式kmeans,具體用法可以參考matlab命令 doc kmeans idx kmeans x,k...

MATLAB實現Kmeans聚類演算法

這是我練習的第乙個機器學習的演算法,寫的比較簡單,肯定也有一些小錯誤。也參看了很多其他人的 現在貼出來算是我學習的乙個歷程啦。clear all close all clc data1 normrnd 0,0.25,100,2 生成符合 data2 normrnd 1.25,0.5,100,2 da...

kmeans均值聚類演算法實現

這個演算法中文名為k均值聚類演算法,首先我們在二維的特殊條件下討論其實現的過程,方便大家理解。由於這是乙個無監督學習的演算法,因此我們首先在乙個二維的座標軸下隨機給定一堆點,並隨即給定兩個質心,我們這個演算法的目的就是將這一堆點根據它們自身的座標特徵分為兩類,因此選取了兩個質心,什麼時候這一堆點能夠...