機器學習 K Means演算法應用

2021-09-25 05:06:00 字數 1213 閱讀 3313

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 對每個樣本進行遍歷,...