问题标签 [dbscan]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
252 浏览

java - DBSCAN 无法正常工作

我在java中实现DBSCAN。我遵循了这里给出的算法(维基百科)。我认为我说得对,但由于某种原因,只形成了 1 个集群。Java代码看起来像

节点类很简单,具有 int x int y 和布尔噪声并已访问。数据在这里提供数据

0 投票
2 回答
10805 浏览

python - Scikit DBSCAN eps 和 min_sample 值确定

我一直在尝试使用 scikit 实现 DBSCAN,但到目前为止未能确定 epsilon 和 min_sample 的值,这将为我提供大量集群。我尝试在距离矩阵中找到平均值并使用平均值两侧的值,但没有得到令人满意的聚类数量:

输入:

输出:

输入:

输出:

其他信息也是如此:

此外,代码中传递的 X 不是距离矩阵,而是特征向量矩阵。所以请告诉我如何确定这些参数

0 投票
3 回答
5082 浏览

machine-learning - In DBSCAN, how to determine border points?

In DBSCAN, the core points is defined as having more than MinPts within Eps.

So if MinPts = 4, a points with total 5 points in Eps is definitely a core point. How about a point with 4 points (including itself) in Eps? Is it a core point, or a border point?

0 投票
1 回答
801 浏览

python - 如何将 sklearn 的 DBSCAN 与球面度量一起使用?

我有一组分布在球体上的数据,我试图了解必须为 scikit-learn 分发的函数 DBS​​CAN 提供哪些指标。它不能是欧几里得度量,因为点分布的度量不是欧几里得。在 sklearn 数据包中,是否有针对此类情况实施的度量标准,或者将数据划分为小子集是最简单(如果冗长且乏味)的方法吗?

PS我是python的菜鸟

PPS 如果我“预计算”指标,我必须以什么形式提交我的预计算数据?像这样?

0 - 事件1 - 事件2 - ...

事件 1 - 0 - 距离(事件 1,事件 2) - ...

事件 2 - 距离(事件 1,事件 2) - 0

请帮忙?

0 投票
1 回答
916 浏览

python - dbscan 索引越界 python

这是我的代码。

data3 是一个熊猫数据框:

我收到以下错误:

问题是什么?

0 投票
1 回答
696 浏览

python - 如何保存集群

我通过 dbscan skelearn 制作了以下集群

在此处输入图像描述

我的数据是一个 numpy 数组:

我想将两个新集群作为变量添加到我的数据中。我使用的代码是:

如何将它们保存为变量?是否有评估这些集群质量的函数,例如 Silhoutte Coefficient?

0 投票
1 回答
1028 浏览

java - Apache DBSCANClusterer 总是返回 0 个集群

我正在尝试使用 apache.commons.math3.ml.clustering 中的 DBSCANClusterer。函数集群返回集群列表,但对我来说,列表的大小始终为 0。我做错了什么?下面是我的测试代码:

文件 cluster.txt 包含两列,其中 X 和 Y 值用制表符分隔。我尝试了一些不同的数据,但我总是得到 0。

0 投票
2 回答
1714 浏览

python - 如何对纬度/经度数据点进行聚类

我首选的算法是 scikit-learn 中的 DBSCAN。但是,我不确定是否(以及如何)将半径与我已经使用的纬度和经度结合起来。我的第二个问题是如何计算新集群的中心。有任何想法吗?

0 投票
7 回答
24712 浏览

machine-learning - scikit-learn:使用 DBSCAN 预测新点

我正在使用 DBSCAN 使用 Scikit-Learn (Python 2.7) 对一些数据进行聚类:

但是,我发现没有内置函数(除了“fit_predict”)可以将新数据点 Y 分配给原始数据 X 中标识的集群。K-means 方法有一个“预测”功能,但我希望能够对 DBSCAN 做同样的事情。像这样的东西:

因此可以从 X 中推断出密度,但返回值(集群分配/标签)仅适用于 Y。据我所知,此功能在 R 中可用,因此我假设它在 Python 中也以某种方式可用。我似乎找不到任何文档。

此外,我尝试寻找 DBSCAN 不能用于标记新数据的原因,但我没有找到任何理由。

0 投票
2 回答
4161 浏览

python - 如何去除 Python 和 Sklearn 中文本数据的 DBSCAN 聚类中的噪声?

假设我的文本数据如下图,以列表的形式。

我正在使用 TFIDFVectorizer 和 DBSCAN Clustering 来聚类此文本并给它们一个标签。

我得到的输出为

所以基本上 DBSCAN 将我的所有数据标记为“-1”,这将其归类为噪声,如 sklearn DBSCAN 文档中所述。