Python資料建模 K means聚類

2021-10-06 04:18:38 字數 1863 閱讀 4016

k-means聚類的python實現方法

介紹:最常用的機器學習聚類演算法,且為典型的基於距離的聚類演算法

k均值: 基於原型的、劃分的距離技術,它試圖發現使用者指定個數(k)的簇,以歐式距離作為相似度測度

from sklearn.datasets.samples_generator import make_blobs

# make_blobs聚類資料生成器

x,y_true = make_blobs(n_samples =

300,

# 生成300條資料

centers =4,

# 四類資料

cluster_std =

0.5,

# 方差一致

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 → 生成資料對應的類別標籤

plt.scatter(x[:,

0],x[:,1

],s =

10,alpha =

0.8)

plt.grid(

)# 繪製圖表

# 匯入模組

kmeans = kmeans(n_clusters =4)

# 這裡為4簇

kmeans.fit(x)

y_kmeans = kmeans.predict(x)

centroids = kmeans.cluster_centers_

# 構建模型,並**出樣本的類別y_kmeans

# kmeans.cluster_centers_:得到不同簇的中心點

plt.scatter(x[:,

0],x[:,1

],c = y_kmeans, cmap =

'dark2'

, s=

50,alpha =

0.5,marker=

'x')

plt.scatter(centroids[:,

0],centroids[:,

1],c =[0

,1,2

,3], cmap =

'dark2'

,s=70

,marker=

'o')

plt.title(

'k-means 300 points\n'

)plt.xlabel(

'value1'

)plt.ylabel(

'value2'

)plt.grid(

)# 繪製圖表

python 資料建模:

- python資料建模–回歸

- python資料建模–分類

- python資料建模–主成分分析

- python資料建模–k-means聚類

- python資料建模–蒙特卡洛模擬

kmean聚類python實現

import pandas as pd import numpy as np import xlrd 匯入資料 df2 pd.read excel test2.xlsx data np.array df2 去掉前兩列 data data 2 分為k類 k 3 臨近均值e e 0.00001 獲得行數...

Kmean聚類演算法原理python實現

kmean聚類演算法是基於距離對物件進行分類的演算法,該演算法實現步驟如下 1 確定初始資料簇質心,質心的數量與需要分的類的數量一致 2 將資料集中的每乙個物件與不同質心計算距離,並將其分類到最近的質心簇中 3 更新資料簇質心,迭代計算,直到資料簇質心不再變化或者分類精度達到要求時,停止演算法。如下...

用python建模 用Python建模線性系統

我知道這有點老了,但一次調查就引出了這個問題。當我找不到合適的模組時,我就把它組裝起來了。不算多,但如果有人發現自己在這裡,這是個好的開始。import matplotlib.pylab as plt import numpy as np import scipy.signal def bode g...