dbscan
dbscan
DBSCAN是一种密度聚类算法,它基于一组参数(ϵ,MinPts)来刻画样本分布的紧密程度。
1、算法原理
如上图所示,DBSCAN的有两个非常重要的参数ϵ和MinPts;图中
“归同类"的意思是"如果该范围内有样本已经归类,则这些样本都属于该类;否则就创建一个新类别,这些样本都属于这个新类别”。
ϵ:指的是范围半径;
MinPts:指的是聚为一类的最小样本数;
2、sklearn中的DBSCAN
from sklearn import cluster
dbscan = cluster.DBSCAN(eps=1.2, min_samples=10)
clustering_labels = dbscan.fit(train_data)
3、DBSCAN的优缺点
如图一、四,DBSCAN对离散型数据的聚类效果并不好;图五效果不好的原因是参数ϵ的值太大了,只要ϵ的值设置好了,图五也能很好地聚类;DBSCAN能识别噪音,可以很好地不受噪音的影响。