- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在轨迹数据集上运行 DBSCAN (sklearn.cluster)。数据集是数组(点)的数组(轨迹)的数组
数据集_测试=
array([[[46.37017059, 30.954216 ],
[46.39661026, 30.94524956],
[46.46545792, 30.94379807],
[46.47494888, 30.94352913],
[46.53890991, 30.94241714],
[46.54576111, 30.95412064]],
[[46.3741684 , 30.96355057],
[46.40998077, 30.94839096],
[46.43452072, 30.94845963],
[46.47270966, 30.94708061],
[46.48934174, 30.94626999],
[46.5067749 , 30.94859695]],
[[46.02920151, 31.13430023],
[46.08929825, 31.13030052],
[46.21580124, 31.04080009],
[46.3125 , 30.96290016],
[46.40140152, 30.95050049],
[46.47000122, 30.94930077]],
...,
[[44.21621323, 36.12607193],
[44.35692596, 37.2990303 ],
[44.42433167, 37.44826889],
[44.47311783, 37.58980179],
[44.50473022, 37.72211075],
[44.52869034, 37.83360672]],
[[41.54032898, 31.87997246],
[41.60663986, 31.83249092],
[41.63148117, 31.81200027],
[41.67761993, 31.77362061],
[41.69719315, 31.75731087],
[41.7834549 , 31.68216133]],
[[46.3062439 , 30.72232246],
[46.298069 , 30.74869919],
[46.28075409, 30.79483032],
[46.2546196 , 30.86957932],
[46.24847794, 30.96400261],
[46.25270081, 30.97114944]]])
我定义了一个距离函数。运行时
从 sklearn.cluster 导入 DBSCAN
聚类 = DBSCAN(eps=3, min_samples=2, metric=hsdf_distance).fit(dataset_test)
我收到错误:
ValueError: Found array with dim 3. Estimator expected <= 2
有什么想法吗?
最佳答案
您可能遇到了 sklearn API 的限制。
但是,由于使用“pyfunc”方法来自定义距离度量无论如何都非常慢 - 并且不可扩展 - 您可能可以使用距离矩阵。无论如何,您不会从索引中受益太多。然后,生成 NxN 距离矩阵并使用 distance="precompulated"
通常会更快。
或者,您可以使用 ELKI 等工具,它不会对输入数据施加任何此类限制 - 它不需要是数字或数组。
特别是,当您还不知道要使用的 epsilon 和 minpts 的值时,使用预先计算的距离 Marie 非常有用,因为您可以多次重复使用它。
距离矩阵的明显缺点是 O(n²) 运行时间和内存需求,对于索引友好的数据集,通常可以减少这些需求。
关于python - 在轨迹上运行 DBSCAN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52926477/
环顾四周,我发现可以将预先计算的距离矩阵传递给 SKLearn DBSCAN .不幸的是,我不知道如何通过它进行计算。 假设我有一个包含 100 个元素的一维数组,其中只有节点的名称。然后我有一个 2
有类似的questions和图书馆,如 ELI5和 LIME .但是我找不到解决我的问题的方法。我有一组文档,我正在尝试使用 scikit-learn 的 DBSCAN 对它们进行聚类。 .首先,我正
是否要求DBSCAN及其索引具有相同的距离函数?如果不是,什么情况下需要使用不同的距离函数? Scala 代码如何创建 DBSCAN 和索引: import de.lmu.ifi.dbs.elki.a
我在scikit-learn中的DBSCAN算法上测试了我的图像集 python 模块。相似度计算还有其他选择: # Compute similarities D = distance.squaref
我正在研究学校关于异常值检测的项目。我想我会创建自己的小数据集并使用 DBSCAN 来处理它。我想我会尝试创建一个关于网站上广告点击是否作弊的数据集。以下是我要创建的数据集的详细信息。 数据集名称:作
我使用方法 dbscan::dbscan 来按位置和密度对数据进行聚类。 我的数据如下所示: str(data) 'data.frame': 4872 obs. of 3 variables: $
使用 DBSCAN, (DBSCAN(eps=epsilon, min_samples=10, algorithm='ball_tree', metric='haversine') 我已经聚集了一个纬
我正在尝试在轨迹数据集上运行 DBSCAN (sklearn.cluster)。数据集是数组(点)的数组(轨迹)的数组 数据集_测试= array([[[46.37017059, 30.954216
我正在尝试在这里实现 DBSCAN 的代码:http://en.wikipedia.org/wiki/DBSCAN 我感到困惑的部分是 expandCluster(P, NeighborPts, C,
我有以下内容: 一个数以千计的数据集 一种计算相似度的方法,但数据点本身我无法在欧几里德空间中绘制它们 我知道 DBSCAN 应该支持自定义距离度量,但我不知道如何使用它。 假设我有一个函数 def
根据我对 DBSCAN 的理解,您可以指定 epsilon,例如 100 米,并且 — 因为 DBSCAN 考虑了密度可达性 而不 direct density-reachability 寻找簇时——
我有一个包含纬度和经度对的数据框。 这是我的数据框的样子。 order_lat order_long 0 19.111841 72.910729 1 19.111342 72
有没有什么工具可以计算出 DBSCAN 算法的 minpts 和 eps 的最优值? 目前我使用sklearn库来应用DBSCAN算法 from sklearn.cluster import DBSC
我已经在 R 中实现了 DBSCAN 算法,并且我正在将集群分配与 fpc library 的 DBSCAN 实现相匹配。 .测试是在 fpc 库 dbscan 示例中给出的合成数据上完成的: n <
这个问题已经有答案了: how to do clustering when the shape of data is (x,y,z)? (1 个回答) 已关闭 4 年前。 sklearn 中是否允许通
我正在从事与聚类任务相关的任务。 DBSCAN 拟合程序产生奇怪的结果,我不明白我的错误在哪里。我简化了代码,只留下了重要的部分: clusters = pd.read_csv('cl.csv') d
我想使用聚类算法来找到大有向图的聚类,并且我也想从该图中消除噪声。因此,我正在考虑使用DBSCAN方法,因为我发现我们可以为算法提供一个距离函数来确定两个不同节点之间的距离/相似度。 我的问题是,如何
据说 DBSCAN 在边界点上不一致,取决于它首先将点分配给哪个簇。当 DBSCAN 想要将边界点分配给其中一个簇时,是否有一种变体会考虑每个簇中边界点接近的点数(eps)? 最佳答案 在这种情况下,
我正在尝试对包含超过 100 万个数据点的数据集进行聚类。一列包含文本,另一列包含与其对应的数值。我面临的问题是它被卡住并且永远不会完成。我尝试过处理大约 100,000 个较小的数据集,它运行得相当
我正在尝试将多个核心与sklearn的DBSCAN一起使用,但是当我更改 n_jobs = -1 时,运行时间似乎没有变化(按照文档的建议,使用所有处理器来运行并行作业)。我错过了什么? import
我是一名优秀的程序员,十分优秀!