當文字類別未知時,可以選擇輪廓係數作為聚類效能的評估指標。輪廓係數取值範圍為[-1,1],取值越接近1則說明聚類效能越好,相反,取值越接近-1則說明聚類效能越差。
則針對某個樣本的輪廓係數s為:
聚類總的輪廓係數sc為:sc=
詳細內容參考文獻
這裡我們用鳶尾花資料集舉例baiziyu:sklearn-鳶尾花資料集
# 載入鳶尾花資料集
from sklearn import datasets
dataset = datasets.load_iris()
x = dataset.data
y = dataset.target
# 聚類,將每個例項的簇標籤放入labels序列
from sklearn.cluster import kmeans
kmeans_model = kmeans(n_clusters=3, random_state=1).fit(x)
labels = kmeans_model.labels_
# 評估聚類結果的輪廓係數
from sklearn import metrics
metrics.silhouette_score(x, labels, metric='cosine')
我們看一下**中的labels
以上一共有150個例項的簇標籤
我們看一下**中的x,也就是每條例項向量
得到的輪廓係數
輪廓係數的優點
輪廓係數的缺點
聚類演算法 DBSCAN
dbscan 是一種簡單的,基於密度的聚類演算法。本次實現中,dbscan 使用了基於中心的方法。在基於中心的方法中,每個資料點的密度通過對以該點為中心以邊長為 2 eps 的網格 鄰域 內的其他資料點的個數來度量。根據資料點的密度分為三類點 1 核心點 該點在鄰域內的密度超過給定的閥值 minps...
DBSCAN聚類演算法
基於密度定義,我們將點分為 dbscan演算法的本質就是隨大流,邊界點緊緊圍繞著核心點,他們抱團,不帶噪點玩兒 小團體多了,聯絡比較密切的小團體之間聚成了同個類 比較偏遠的小團體想要加入這個圈子,進不去,就單幹,我們自己玩自己的,聚成了另外的乙個類 一開始就被孤立的噪點吧,自然有自己的傲骨,接著孤芳...
DBSCAN 聚類演算法
dbscan演算法是一種基於密度聚類的演算法。核心概念 核心點 若某個點的密度達到演算法設定的閾值 即 r 鄰域內點的數量不小於 minpts 則其為核心點。直接密度可達 若某點p在點q的 r 鄰域內,且q是核心點,則稱p從q出發直接密度可達。密度可達 若有乙個點的序列q0 q1 qk,對任意qi從...