ML: 聚类算法R包 - 密度聚类
2017-08-12 03:04
239 查看
密度聚类
fpc::dbscan
fpc::dbscan
DBSCAN核心思想:如果一个点,在距它Eps的范围内有不少于MinPts个点,则该点就是核心点。核心和它Eps范围内的邻居形成一个簇。在一个簇内如果出现多个点都是核心点,则以这些核心点为中心的簇要合并。其中要注意参数eps的设置,如果eps设置过大,则所有的点都会归为一个簇,如果设置过小,那么簇的数目会过多。如果MinPts设置过大的话,很多点将被视为噪声点(先计算距离矩阵,然后看一下距离大概都是多少,找个靠谱的设置成半径)
优点:
对噪声不敏感。
能发现任意形状的聚类。
缺点:
聚类的结果与参数有很大的关系。
DBSCAN用固定参数识别聚类,但当聚类的稀疏程度不同时,相同的判定标准可能会破坏聚类的自然结构,即较稀的聚类会被划分为多个类或密度较大且离得较近的类会被合并成一个聚类
上面的数据表中1到3为识别出来的3个聚类簇,0表示噪声数据或利群点,即不属于任何簇的对象。
plot(ds, iris2)
查看部分特性分布图 plot(ds,iris2[c(1,4)])
fpc包还提供了另一个展示聚类分析的函数plotcluster(),值得一提的是,数据将被投影到不同的簇中
plotcluster(iris2, ds$cluster)
参考资料:
https://www.douban.com/note/495288321/
http://www.36dsj.com/archives/63216
https://cran.r-project.org/web/packages/dbscan/index.html
fpc::dbscan
fpc::dbscan
DBSCAN核心思想:如果一个点,在距它Eps的范围内有不少于MinPts个点,则该点就是核心点。核心和它Eps范围内的邻居形成一个簇。在一个簇内如果出现多个点都是核心点,则以这些核心点为中心的簇要合并。其中要注意参数eps的设置,如果eps设置过大,则所有的点都会归为一个簇,如果设置过小,那么簇的数目会过多。如果MinPts设置过大的话,很多点将被视为噪声点(先计算距离矩阵,然后看一下距离大概都是多少,找个靠谱的设置成半径)
优点:
对噪声不敏感。
能发现任意形状的聚类。
缺点:
聚类的结果与参数有很大的关系。
DBSCAN用固定参数识别聚类,但当聚类的稀疏程度不同时,相同的判定标准可能会破坏聚类的自然结构,即较稀的聚类会被划分为多个类或密度较大且离得较近的类会被合并成一个聚类
> library(fpc) > iris2 <- iris[-5] # 与之前相同,从数据样本中剔除species属性 > ds <- dbscan(iris2, eps=0.42, MinPts=5) > # compare clusters with original class labels > table(ds$cluster, iris$Species) setosa versicolor virginica 0 2 10 17 1 48 0 0 2 0 37 0 3 0 3 33
上面的数据表中1到3为识别出来的3个聚类簇,0表示噪声数据或利群点,即不属于任何簇的对象。
plot(ds, iris2)
查看部分特性分布图 plot(ds,iris2[c(1,4)])
fpc包还提供了另一个展示聚类分析的函数plotcluster(),值得一提的是,数据将被投影到不同的簇中
plotcluster(iris2, ds$cluster)
参考资料:
https://www.douban.com/note/495288321/
http://www.36dsj.com/archives/63216
https://cran.r-project.org/web/packages/dbscan/index.html
相关文章推荐
- ML: 聚类算法R包-K中心点聚类
- 【Python-ML】SKlearn库密度聚类DBSCAN模型
- 聚类算法之DBSCAN(具有噪声的基于密度的聚类方法)
- 聚类算法——python实现密度聚类(DBSCAN)
- 聚类算法之层次聚类与密度聚类
- 聚类算法总结 划分法,层次聚类,基于网格,基于密度,谱聚类,基于模型,模糊聚类
- 聚类分析之基于密度的聚类算法(DBSCAN)
- R语言聚类算法之密度聚类(Density-based Methods)
- 聚类分析(六)基于密度的聚类算法 — OPTICS
- R语言聚类算法之密度聚类(Density-based Methods)
- ML: 聚类算法R包-层次聚类
- ML: 聚类算法R包-网格聚类
- ML: 聚类算法R包 - 模型聚类
- 机器学习总结(十):常用聚类算法(Kmeans、密度聚类、层次聚类)及常见问题
- ML: 聚类算法R包-模糊聚类
- OPTICS:通过点排序识别聚类结构的密度聚类算法
- 【Python-ML】SKlearn库原型聚类KMeans
- 机器学习经典算法详解及Python实现--聚类及K均值、二分K-均值聚类算法
- 聚类:dbscan,密度最大值
- 文本挖掘之聚类算法之CLARANS(基于随机选择的聚类算法)