DBSCAN sklearn 非常慢

2024-01-01

我正在尝试对包含超过 100 万个数据点的数据集进行聚类。一列包含文本,另一列包含与其对应的数值。我面临的问题是它被卡住并且永远不会完成。我尝试过处理大约 100,000 个较小的数据集,它运行得相当快,但当我开始增加数据点时,它开始变慢,对于 100 万个数据点,它永远不会完成并挂起。最初,我认为这可能是因为我有一个用于文本的 tfidf 矩阵,并且有 100 个维度,因此需要很长时间。然后我尝试根据每个数据点的单个值的数量进行聚类,但它仍然没有完成。下面是代码片段。知道我可能做错了什么吗?我见过有人处理更大的数据集并且没有任何问题。

Y=data['amount'].values
Y=Y.reshape(-1,1)
dbscan = DBSCAN(eps=0.3, min_samples= 10, algorithm='kd_tree')
dbscan.fit_predict(Y)
labels = dbscan.labels_
print(labels.size)
clusters = labels.tolist()
#printing the value and its label
for a, b in zip(labels, Y):
    print(a, b)

很可能你的 epsilon 太大了。

如果大多数点都在大多数其他点的 epsilon 范围内,则运行时间将为 O(n²) 的二次方。所以开始small values!

您不能只添加/删除功能而让 epsilon 保持不变。

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

DBSCAN sklearn 非常慢 的相关文章

随机推荐

  • 我需要担心阻塞任务吗?

    我需要在多大程度上担心 NET 中的阻塞任务 即 NET 任务调度程序如何处理线程池中线程的阻塞和超额订阅 例如 如果我的任务中有一些 IO 我是否应该始终使用LongRunning暗示 或者任务调度程序启发式处理得更好吗 在C 中有一个O
  • 实现滑动刷新布局后,回收器视图无法正确滚动

    在实现 滑动刷新 视图之前 回收器视图运行顺利 但每当我尝试向下滚动回收器视图时 滑动刷新 都会干扰并阻碍滚动移动 这是问题的屏幕截图 请注意 当回收器视图向下滚动时 会出现滑动刷新布局 这是我的布局片段
  • 命令行 Java 调试器

    有没有好的java命令行调试器 我给了 JDB 一个机会 但命令行界面很糟糕 如果我想更改最后一行并重新执行它 我必须重新输入整行 点击 向上箭头 只会给我 A 包 类 方法名也没有完成 GDB 是一个不错的选择 但我不知道如何用它进行远程
  • R 中的全局变量和局部变量

    我是 R 的新手 我对 R 中局部变量和全局变量的使用感到很困惑 我在互联网上读到一些帖子说如果我使用 or lt 我将在当前环境中分配变量 并使用 lt lt 我可以在函数内部访问全局变量 然而 据我记得 在 C 中 每当在括号内声明变量
  • 如何将引号传递给javascript函数

    我有一个 javascript 函数 它接受包含引号的字符串并显示在输入字段中 但是这个函数不接受引号后面的字符串 function searchFormatter cellvalue options rowObject return
  • 如何在 JavaScript 中实现类似 Swift 的枚举以及关联值?

    Swift 语言拥有出色的枚举支持 人们不仅可以用案例定义标准枚举 而且案例还可以具有 与其关联 的可选值 例如 摘自 Swift 文档 enum Barcode case UPCA Int Int Int Int case QRCode
  • 如何关闭Android Studio 3.0标签? [复制]

    这个问题在这里已经有答案了 我刚刚升级到 Android Studio 3 0 我注意到我的代码中到处都是奇怪的标签 标签 我无法手动删除这些标签 因为光标只是跳过它们 如何关闭这些标签 Android Studio 具有与 Intelli
  • 有什么方法可以在 Java/Eclipse 中对方法进行分组吗?

    我希望能够将类似的方法分组并让它们出现在 Eclipse 的大纲视图中 这使得浏览大量代码变得更容易 并且更容易找到所需的方法 在 Objective C 中 有一个可以设置的 pragma mark 命令 java eclipse 有类似
  • 当 KVM-QEMU 打开时,Intel-PT 不记录任何数据包

    我尝试在主机上使用 Intel PT 同时在客户机上运行通用软件程序 所以我期望主机中运行的 Intel PT 将记录所有相关数据包 如 PIP FUP TSC 等 以及所有基于 VM 的数据包 如 VMCS 我使用以下命令 perf kv
  • 授权请求出现问题

    我正在尝试在 Sinch 服务中发出conferenceCallout 请求 但我在签名方面遇到问题 我粘贴代码
  • 如何获取 Administration_area_level_1、2 等类型的名称

    我正在使用谷歌地图 API http code google com apis maps documentation geocoding 我了解如何进行查询并解析返回的 JSON 我想要做的是获取 Administration area l
  • Flask Google Cloud App Engine:OSError:[Errno 98]地址已在使用中

    我正在尝试在谷歌云应用程序引擎上部署烧瓶应用程序 它在本地虚拟环境中运行顺利 但在云中运行时出现 502 错误 现在我尝试使用调试模式和 SSH 进入我的实例 在云服务器上调试我的代码 使用docker exec it ID bin bas
  • GAE App Engine Websocket 客户端在 1 小时后断开连接

    我有一个简单的 Websocket 服务器部署到 AppEngine 恰好 1 小时后客户端断开连接 错误代码为 1006 我相信这是由于 nginx 负载均衡器而发生的 我尝试更改 nginx app conf 但没有帮助 proxy s
  • 为什么scala无法推断方法参数的类型

    我想知道为什么 scala 不能推断方法参数的类型 我可以看到在 haskel 也有类型推断 中可以做同样的事情 那为什么不选择 scala 呢 首先 Scala 中的情况与 Haskell 中的情况有很大不同 因为它是一种 OO 语言 并
  • 突出显示 amcharts 中的最高点和最低点

    有人可以帮助我更改项目符号或使用 amcharts 突出显示最高和最低值吗 我正在使用序列图 函数 突出显示 中给出的条件是匹配的 但是项目符号没有突出显示到最高点和最低点 任何帮助将不胜感激 请在下面找到我的代码
  • != 检查线程安全吗?

    我知道复合操作例如i 不是线程安全的 因为它们涉及multiple运营 但是检查引用本身是线程安全的操作吗 a a is this thread safe 我尝试对此进行编程并使用多个线程 但没有失败 我想我无法在我的机器上模拟比赛 EDI
  • 检查 PHP 中的会话是否是新的

    我有一个网站 需要在每个用户会话中执行一次特定的后端功能 因此 我希望能够确定任何给定的页面视图是否是给定会话中的第一个 根据 PHP 文档 会话开始 创建一个会话或恢复当前会话 通过 GET 或 POST 请求传递的会话标识符 或通过 曲
  • 使用 php 代理跨域 Ajax GET 请求

    在过去的几天里 我一直在为这件事烦恼 我试图从公共 API 获取跨域 ajax GET 请求 但我根本无法让它工作 PHP 我正在使用 Ben Alman 的 ba simple proxy https github com cowboy
  • Spring boot:@ConfigurationProperties 测试不满足

    我在测试执行时遇到此异常 UnsatisfiedDependencyException 创建名为 net gencat transversal espaidoc mongo GridFSTest 的 bean 时出错 通过字段 resour
  • DBSCAN sklearn 非常慢

    我正在尝试对包含超过 100 万个数据点的数据集进行聚类 一列包含文本 另一列包含与其对应的数值 我面临的问题是它被卡住并且永远不会完成 我尝试过处理大约 100 000 个较小的数据集 它运行得相当快 但当我开始增加数据点时 它开始变慢