Kmeans聚類演算法 python實現

2021-09-25 21:00:22 字數 1822 閱讀 3953

kmeans演算法

k均值演算法需要輸入待聚類的資料和欲聚類的簇數k,主要過程如下:

1.隨機生成k個初始點作為質心

2.將資料集中的資料按照距離質心的遠近分到各個簇中

3.將各個簇中的資料求平均值,作為新的質心,重複上一步,直到所有的簇不再改變

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

%matplotlib inline

#建立資料

from sklearn.datasets.samples_generator import make_blobs

#make_blobs 聚類資料生成器

x,y_true=make_blobs(n_samples=

300,

#生成300條資料

centers=4,

#四類資料

cluster_std=

0.4,

#每一類的方差,方差越小,簇越集中,可以用列表分別指定四類資料的方差

random_state=0)

print

(x[:5]

)print

(y_true[:5

])#n_samples:待生成的樣本總數

#n_features:每個樣本的特徵數

#centers:類別數

#cluster_std:每個類別的方差,如多類資料不同方差,可設定為[1.0,3.0] (這裡針對2類資料)

#random_state:隨機數種子

#x:生成資料值(座標點),y:生成資料對應的類別標籤

#聚類模型

from sklearn.cluster import kmeans

kmeans=kmeans(n_clusters=4)

kmeans.fit(x)

y_kmeans=kmeans.predict(x)

#聚類類別結果

centroids=kmeans.cluster_centers_ #聚類中心點

print

('聚類中心點為:'

,centroids)

#作圖plt.scatter(x[:,

K Means聚類演算法

k means聚類演算法 intergret kmeans演算法的基本思想是初始隨機給定k個簇中心,按照最鄰近原則把待分類樣本點分到各個簇。然後按平均法重新計算各個簇的質心,從而確定新的簇心。一直迭代,直到簇心的移動距離小於某個給定的值。k means聚類演算法主要分為三個步驟 1 第一步是為待聚類...

聚類演算法 K means

演算法接受引數 k 然後將事先輸入的n個資料物件劃分為 k個聚類以便使得所獲得的聚類滿足 同一聚類中的物件相似度較高 而不同聚類中的物件相似度較小。聚類相似度是利用各聚類中物件的均值所獲得乙個 中心物件 引力中心 來進行計算的。k means演算法是最為經典的基於劃分的聚類方法,是十大經典資料探勘演...

k means聚類演算法

說到聚類,得跟分類區別開來,分類是按人為給定的標準將樣本歸到某個類別中去,在機器學習中多是監督學習,也就是訓練樣本要給標籤 正確的類別資訊 而聚類是在某種規則下自動將樣本歸類,在機器學習中是無監督學習,不需要提前給樣本打標籤。k means聚類演算法,就是在某種度量方式下,將樣本自動劃分到k個類別中...