r - 如何确定 R 中 DBSCAN 的距离/eps?

标签 r distance dbscan

我有一个点数据集;

 lat   |long    | time
 34.53  -126.34  1
 34.52  -126.32  2
 34.51  -126.31  3
 34.54  -126.36  4
 34.59  -126.28  5
 34.63  -126.14  6
 34.70  -126.05  7
 ...

(数据集更大,但这是一般结构。)

我想根据距离和时间对点进行聚类。 DBSCAN 似乎是一个不错的选择,因为我不知道有多少个集群。

我目前使用的是分钟/5500(我相信大约是 20 米,按比例缩放。)

library(fpc)
 results<-dbscan(data,MinPts=3,eps=0.00045,method="raw",scale=FALSE,showplot=1)

由于我有原始数据,因此我在理解如何确定缩放/距离时遇到问题。我可以猜测缩放或未缩放时 eps 的值,但我不清楚缩放的作用,或者使用什么距离度量(也许是欧几里德距离?)是否有关于此的文档?

(这不是要找到一种自动选择方式(如 Choosing eps and minpts for DBSCAN (R)? ),而是要了解不同值的含义。说“您首先需要一个距离函数”并不能解释所使用的距离函数是什么,或者如何创建一个...)

最佳答案

首先计算数据的距离矩阵。然后,您可以使用 method='dist',而不是使用 method='row'。这样,dbscan 会将您的数据视为距离矩阵,因此无需担心距离函数是如何实现的。请注意,这可能需要更多内存,因为您要预先计算距离矩阵并将其存储在内存中。

关于r - 如何确定 R 中 DBSCAN 的距离/eps?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14993054/

相关文章:

Doctrine 距离函数

python-3.x - 如何在sklearn中找到DBSCAN聚类的中心点

python - Sklearn 中的高维 DBSCAN

R 3.0.x 中的 RExcel

在 R 中旋转条形图的 x 轴标签

android - distance To() 返回的距离不是米!

cluster-analysis - 我很难理解 OPTICS 聚类算法中排序的概念

r - 转换颜色以模仿灰度打印

r - 如何巧妙地将文本标签放置在 ggplot2 中不同大小的点旁边?

sql - 查询地理编码位置(纬度/经度)周围的周长