Плотность и пороговая кластеризация в dbscan - PullRequest
0 голосов
/ 02 апреля 2019

Я работаю над некоторыми данными по температуре для промышленных деталей. У меня есть пиксельная температура детали со значениями температуры. Я хочу использовать 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)

завершить визуальную часть: complete part visual

dbscan вывод после фильтрации с использованием пороговой температуры ":

dbscan output

1 Ответ

1 голос
/ 02 апреля 2019

Никогда не используйте пакет fpc.Вместо этого используйте dbscan!

Я не уверен, является ли DBSCAN подходящим инструментом для вашей задачи, потому что ниже вы говорите о 10х10 регионах.Для этого стандартная свертка была бы гораздо более подходящей ...

Но кроме этого DBSCAN мог бы работать для вас, при условии, что вы выбираете атрибуты (n, m, f, c?Что все это значит?) И параметры (радиус минт) соответственно.Может быть, ваш эпсилон был слишком мал?

...