一、判斷聚類數目(聚為幾類)
(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作圖的,假定已經經...