r - 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
使用阈值温度过滤后的输出”:
解决方案
切勿使用fpc
包装。改用dbscan
!
我不确定 DBSCAN 是否适合您的 taskz,因为下面您谈论的是 10x10 区域。为此,标准卷积会更合适......
但除此之外,DBSCAN 可以为您工作,前提是您适当地选择属性(n、m、f、c?这些都是什么?)和参数(半径 minpts)。也许你的 epsilon 太小了?
推荐阅读
- html - Internet Explorer (WM6.5) - 如何在页面提交后增加超时限制?
- makefile - Makefile 调试基本不执行
- python - 通过 ElementTree 将 \n 打印为 XML 文本中的换行符
- visual-studio-code - 使用键盘快捷键在终端发送文件路径,在 Windows 上需要 git-bash 的路径分隔符
- python - 为什么 ThreadPoolExecutor 不能运行这个函数?它作为一个循环工作
- typescript - webpackPrefetch 预期为真或数字,但收到:假。(魔术评论)
- python - 如何在读取 CSV 文件后重命名熊猫列
- c# - 从 C# 中的不同函数向活动 tcp 客户端发送消息
- javascript - 当我将“方法:请求”添加到 iCalendar 时,Gmail 停止将其识别为事件
- php - 如何对具有重复键和值的数组进行排序并分别显示所有键和值,包括php中数组的重复项?