使用纬度/经度对的自定义距离度量进行聚类

2024-06-19

我试图为 scikit-learn DBSCAN 实现指定一个自定义聚类函数:

def geodistance(latLngA, latLngB):
    print latLngA, latLngB
    return vincenty(latLngA, latLngB).miles

cluster_labels = DBSCAN(
            eps=500,
            min_samples=max(2, len(found_geopoints)/10),
            metric=geodistance
).fit(np.array(found_geopoints)).labels_

然而,当我打印出距离函数的参数时,它们根本不是我所期望的:

[ 0.53084126  0.19584111  0.99640966  0.88013373  0.33753788  0.79983037
  0.71716144  0.85832664  0.63559538  0.23032912]
[ 0.53084126  0.19584111  0.99640966  0.88013373  0.33753788  0.79983037
  0.71716144  0.85832664  0.63559538  0.23032912]

这就是我的found_geopoints 数组的样子:

[[  4.24680600e+01   1.40868060e+02]
 [ -2.97677600e+01  -6.20477000e+01]
 [  3.97550400e+01   2.90069000e+00]
 [  4.21144200e+01   1.43442500e+01]
 [  8.56111000e+00   1.24771390e+02]
...

那么为什么距离函数的参数不是纬度经度对呢?


我似乎找到了一种解决方法,可以使用以下方法计算距离矩阵:http://scikit-learn.org/stable/modules/ generated/sklearn.metrics.pairwise.pairwise_distances.html http://scikit-learn.org/stable/modules/generated/sklearn.metrics.pairwise.pairwise_distances.html然后用它作为参数DBSCAN(metric='precomputed').fit(distance_matrix)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用纬度/经度对的自定义距离度量进行聚类 的相关文章

随机推荐

  • 使用非英语的通用语言? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 在讨论最近项目的规范和功能要求时 我们正在与领域专家讨论荷兰语的会计术语 因为整个团队和客户都是以荷兰语为母语的人 当开发开始时 我们很自然地用英语实
  • com.android.ddmlib.AdbCommandRejectedException:设备离线(即使设备已连接)

    将 Android Studio 更新到 2 1 2 后 当我进行更改时 我多次收到以下错误 com android ddmlib AdbCommandRejectedException 设备离线 安装 APK 时出错 问题是设备从未连接且
  • CSS:多属性选择器

    我想设置 电子邮件 和 密码 类型的表单输入样式 但不设置其他任何样式 我正在想象类似以下的事情 input type email type password 然而 属性选择器的工作方式似乎将其解释为 输入 其中类型同时是 电子邮件 and
  • Z 算法背后的直觉

    Z算法是一种复杂度为O n 的字符串匹配算法 一种用例是从字符串 B 中查找字符串 A 的最长出现次数 例如 overdose from stackoverflow 将会 over 您可以通过使用组合字符串调用 Z 算法来发现这一点 ove
  • 何时使用 NodeIterator

    基准 http jsperf com qsa vs node iterator比较 QSA 和 forEach vs a NodeIterator toArray document querySelectorAll div gt a kla
  • Microsoft Edge 清理会话

    Microsoft Edge 驱动程序在运行 selenium 测试时不确保干净会话 是否有一个选项可以指定所需的功能来解决此问题 今天我自己就遇到了这个问题 所以最终我让它工作的唯一方法非常简单 您必须在 Edge 设置中选中 关闭浏览器
  • 检查两个“select”是否相等

    有没有办法检查两个 非平凡的 选择是否等效 最初我希望两个选择之间有形式上的等价 但是答案在证明 sql 查询等价性 https stackoverflow com questions 56895 proving sql query equ
  • 如何部分或仅按百分比沿路径过渡

    我是 d3 的初学者 目前无法使用最新版本 但我使用的是 3 x 版本 我想要实现的应该很简单 但遗憾的是我没有找到有关如何做到这一点的资源 目标是在我的 svg 中显示一条路径 然后我想显示例如一个圆并沿着路径过渡 移动 追踪圆 如果我想
  • Capistrano:deploy.rb 文件重构

    我的deploy rb中有以下代码 namespace app do desc copies the configuration frile from shared config yml to config task copy config
  • 生成尽可能最快的可执行文件

    我有一个非常大的程序 我一直在 Visual Studio 下编译 v6 然后迁移到 2008 我需要可执行文件尽可能快地运行 该程序大部分时间都花在处理各种大小的整数上 并且执行很少的 IO 显然 我会选择最大优化 但似乎可以做很多不属于
  • 如何在我的应用程序中添加应用内购买

    我想在我的应用程序中使用应用程序购买应用程序 但我不知道如何执行此操作 任何人都可以帮助我如何做以及源代码在哪里 给我链接或代码 这里有一堆链接 应用内购买编程指南 http developer apple com iphone libra
  • 在Java中清空数组/处理

    除了循环遍历数组中的每个元素并将每个元素设置为 null 之外 Java 处理中是否有一个本机函数可以简单地清空数组 或销毁它 以便能够将其重新声明为新数组 There s Arrays fill myArray null 并不是说它执行的
  • 如何在SSIS中将数据库名称设置为变量?

    在我当前的项目中 数据库名称不断变化 我不想每次都修改我的 OLE DB 源 因此我想将其设置为变量 也就是说 在每个 OLE DB Source 中 我可以将它用作参数 但是 SSIS 似乎不允许将数据库名称作为参数传输 那么我应该怎样做
  • 在 bash 脚本中检测鼠标点击

    我想知道如何在后台运行 bash 脚本 每当用户单击鼠标时该脚本都会执行某些操作 即运行脚本或命令或其他任何内容 即使终端关闭 我也希望它继续运行 有任何想法吗 谢谢 如果您使用的是X11 您可以尝试xdotool捕获鼠标事件 它会是这样的
  • 在 PHP 中重新定义常量

    是否可以在 php 中重新定义由define功能 我有一个包含多个常量的类 其中包含用户数据 我正在尝试为多个用户使用该类 define ALLEGRO ID id define ALLEGRO LOGIN login define ALL
  • ASP.NET WebApi - 一个控制器中的多个 GET 操作

    I have Users控制器和基本 REST 模式工作得很好 不过我需要一种额外的模式users id usergroups这将返回该用户的所有用户组 实现这一点的最佳方法是什么 因为我想我将需要在更多控制器上使用类似的路由 仅使用默认值
  • aio.h aio_read() 和写入内存泄漏

    我正在尝试使用 C 异步读取和写入磁盘 使用 Ubuntu 10 04 中的 posix aio 库 遵循此处概述的说明 一体机教程 http www ibm com developerworks linux library l async
  • 在函数内的 for 循环上使用 tqdm 来检查进度

    我正在使用 for 循环迭代目录树内的一大组文件 这样做时 我想通过控制台中的进度条来监视进度 因此 我决定使用 tqdm 来实现此目的 目前 我的代码如下所示 for dirPath subdirList fileList in tqdm
  • 从 torch.autograd.gradcheck 导入 zero_gradients

    我想复制代码here https github com LTS4 DeepFool blob master Python deepfool py 并且我在 Google Colab 中运行时收到以下错误 ImportError 无法导入名称
  • 使用纬度/经度对的自定义距离度量进行聚类

    我试图为 scikit learn DBSCAN 实现指定一个自定义聚类函数 def geodistance latLngA latLngB print latLngA latLngB return vincenty latLngA lat