機器學習 Python 聚類

2021-10-17 03:16:13 字數 1250 閱讀 5585

一、判斷聚類數目(聚為幾類)

(1)手肘法

核心思想

import pandas as pd

import numpy as np

from sklearn.cluster import kmeans

import matplotlib.pyplot as plt

# 資料為data,此處略去輸入過程

# 利用sse選擇k,即【手肘法】

sse =

# 存放每次結果的誤差平方和

for k in

range(1

,9):

estimator = kmeans(n_clusters=k)

# 構造聚類器

estimator.fit(data)

# 畫圖,選擇k

x =range(1

,9)plt.xlabel(

'k')

plt.ylabel(

'sse'

)plt.plot(x, sse,

'o-'

)plt.show(

)

(2)輪廓係數法

平均輪廓係數:

import pandas as pd

import numpy as np

from sklearn.cluster import kmeans

from sklearn.metrics import silhouette_score

import matplotlib.pyplot as plt

# 資料為data,此處略去輸入過程

# 利用輪廓係數選擇k,即【輪廓係數法】

scores =

# 存放輪廓係數

for k in

range(2

,9):

estimator = kmeans(n_clusters=k)

# 構造聚類器

estimator.fit(data)

'euclidean'))

# 畫圖,選擇k

x =range(2

,9)plt.xlabel(

'k')

plt.ylabel(

'輪廓係數'

)plt.plot(x, scores,

'o-'

)plt.show(

)

機器學習 聚類

聚類的過程是將樣本分類的過程,聚類屬於無監督學習,資料中沒有label,訓練之前並不知道樣本屬於哪乙個類別,需要借鑑經驗值。kmeans聚類 模型假設 資料的分布是k個 sigma 相同的高斯分布的,每個分布裡有 n 1,n 2,n k 個樣本,其均值分別是 mu 1,mu 2,mu k 那麼每個樣...

機器學習聚類

模型調參 from sklearn.cluster import dbscan 構建空列表,用於儲存不同引數組合下的結果 res 迭代不同的eps值 for eps in np.arange 0.001,1 0.05 迭代不同的min samples值 for min samples in rang...

Python機器學習,均值聚類例題

說不定以後能用到 注意 1.所有答案都需寫在答題紙上,寫在試卷上的無效。2.涉及資料分析相關庫的使用,假定都已經匯入並且設定了別名,numpy 的別名為np,pandas的別名為pd,matplotlib.pyplot的別名為plt。3.涉及到使用matplotlib.pyplot作圖的,假定已經經...