dbscan中基于密度和阈值的聚类

时间:2019-04-02 13:41:30

标签: r cluster-analysis hierarchical-clustering dbscan hdbscan

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

我尝试仅隔离超过阈值(230)的点,并尝试查看该簇是否超过一定大小。以下代码:c(1,3)是温度的xy值,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)

完整的零件外观: complete part visual

使用阈值温度过滤后的

dbscan输出”:

dbscan output

1 个答案:

答案 0 :(得分:1)

请勿使用fpc软件包。请改用dbscan

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

但是,除了DBSCAN可以为您工作之外,只要您选择适当的属性(n,m,f,c?这些是什么?)和参数(半径分钟)即可。也许您的epsilon太小了?