import matplotlib.pyplot as plt
from sklearn.datasets.samples_generator import make_blobs # 聚類資料測試工具
# 在sklearn中,隨機生成1000個樣本,每個樣本2個特徵,共4個簇,簇中心在[-1, -1], [0, 0], [1, 1], [2, 2],簇方差分別為[0.3,0.1,0.4,0.2]
x, y = make_blobs( n_samples=
1000
, n_features=2,
centers=[[
-1,-
1],[
0,0]
,[1,
1],[
2,3]
],cluster_std=
[0.3
,0.1
,0.4
,0.2])
# 解決plt標題中文亂碼-----
import matplotlib as mpl
mpl.rcparams[
'font.sans-serif']=
['simhei'
]#指定預設字型 simhei為黑體
mpl.rcparams[
'axes.unicode_minus']=
false
#用來正常顯示負號
#------------------------
# 檢視簇的分布情況
plt.scatter(x[:,
0],x[:,1
])plt.title(
"簇分布情況"
)from sklearn.cluster import kmeans
y_pred = kmeans(n_clusters=4)
.fit_predict(x)
# k為4時
plt.scatter(x[:,
0],x[:,1
],c=y_pred)
# 繪圖
plt.title(
"k為4時聚類分布"
Python機器學習應用 Kmeans演算法
import numpy as np from sklearn.cluster import kmeans def loaddata filepath fr open filepath,r 讀寫開啟乙個文字檔案 lines fr.readlines retdata 城市各個消費資料 retcityn...
機器學習 K Means演算法
簡介 又叫k 均值演算法,是非監督學習中的聚類演算法。基本思想 k means演算法比較簡單。在k means演算法中,用cluster來表示簇 容易證明k means演算法收斂等同於所有質心不再發生變化。基本的k means演算法流程如下 選取k個初始質心 作為初始cluster,每個初始clus...
機器學習筆記 k means演算法
k means是一種無監督的聚類演算法,也就是不給標籤,演算法自動來進行分類,最終分成k個簇。輸入 k 簇的個數 訓練集 無標籤的樣本集合 輸出 k個簇 k應該比樣本數量小 1 隨機初始化k個均值向量 代表k個簇的中心 可以隨機選取k個訓練樣本作為初始均值向量。2 開始迴圈 1 對每個樣本進行遍歷,...