首页 > 解决方案 > dbscan 中基于密度和阈值的聚类

问题描述

我正在研究一些工业零件的热温度数据。我有一个带有温度值的部件的像素温度。我想用它dbscan来识别每个部分都有像素簇的部分,其中簇中的所有点都超过了阈值温度。我尝试过使用dbscan但不知道如何使用阈值温度和集群大小作为条件来识别。

我试图仅隔离超过阈值(230)的点,并尝试查看该集群是否超过一定大小。下面的代码:c(1,3)是温度的x,y值,v是温度。

new<-sub%>%filter(sub$v>230)%>% as.data.frame(.)
db <- fpc::dbscan(new[,c(1,3)], eps =3, MinPts = 10)
plot(db, new[,c(1,3)], main = "DBSCAN", frame = FALSE)

完整的部分视觉: 完整的部分视觉

dbscan使用阈值温度过滤后的输出”:

数据库扫描输出

标签: rcluster-analysishierarchical-clusteringdbscanhdbscan

解决方案


切勿使用fpc包装。改用dbscan

我不确定 DBSCAN 是否适合您的 taskz,因为下面您谈论的是 10x10 区域。为此,标准卷积会更合适......

但除此之外,DBSCAN 可以为您工作,前提是您适当地选择属性(n、m、f、c?这些都是什么?)和参数(半径 minpts)。也许你的 epsilon 太小了?


推荐阅读