在scikit-learn中,DBSCAN可以使用稀疏矩阵吗?

2024-02-03

当我运行 scikit 的 dbscan 算法时,出现内存错误。 我的数据约为20000*10000,它是一个二进制矩阵。

(也许这样的矩阵不适合使用DBSCAN。我是机器学习的初学者。我只是想找到一种不需要初始簇号的聚类方法)

不管怎样,我发现了 scikit 的稀疏矩阵和特征提取。

http://scikit-learn.org/dev/modules/feature_extraction.html http://scikit-learn.org/dev/modules/feature_extraction.html http://docs.scipy.org/doc/scipy/reference/sparse.html http://docs.scipy.org/doc/scipy/reference/sparse.html

但我仍然不知道如何使用它。在DBSCAN的规范中,没有提到使用稀疏矩阵。难道不允许吗?

如果有人知道如何在 DBSCAN 中使用稀疏矩阵,请告诉我。 或者你可以告诉我更合适的聚类方法。


The scikit不幸的是,DBSCAN 的实现非常困难naive。需要重写它以考虑索引(球树等)。

截至目前,它显然会坚持计算完整的距离矩阵,这会浪费lot的记忆。

我可以建议你自己重新实现 DBSCAN 吗?这相当简单,存在很好的伪代码,例如在维基百科和原始出版物中。它应该只有几行,然后您就可以轻松地利用您的数据表示。例如。如果您已经有一个稀疏表示的相似图,那么执行“范围查询”通常相当简单(即仅使用满足距离阈值的边)

这里有一个scikit-learn github 中的问题 https://github.com/scikit-learn/scikit-learn/issues/1938他们谈论改进实施。一位用户报告他使用球树的版本快了 50 倍(这并不令我惊讶,我之前见过类似的索引加速 - 当进一步增加数据集大小时,它可能会变得更加明显)。

Update:自从写完这个答案以来,scikit-learn 中的 DBSCAN 版本已经得到了实质性的改进。

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

在scikit-learn中,DBSCAN可以使用稀疏矩阵吗? 的相关文章

  • 为什么反向传播神经网络中必须使用非线性激活函数? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我一直在阅读一些有关神经网络的内容 并且了解单层神经网络的一般原理 我理解需要额外的层 但为什么要使用非线性激活函数 这个问题后面跟着这个
  • Sklearn SVM:SVR 和 SVC,为每个输入获得相同的预测

    这是代码的粘贴 支持向量机示例代码 http pastebin com dvWy5SpE 我查看了这个问题的其他几个答案 看起来这个问题的特定迭代有点不同 首先 我的输入被标准化 每个点有五个输入 这些值的大小都合理 健康的 0 5 秒和
  • 为什么对数损失为负?

    我刚刚将 sklearn 中的对数损失应用于逻辑回归 http scikit learn org stable modules generated sklearn metrics log loss html http scikit lear
  • 训练多维高斯过程回归的超参数

    这是一个简单的代码工作实现 我在 Python 的 scikit learn 中使用高斯过程回归 GPR 和二维输入 即网格x1 and x2 和一维输出 y import numpy as np from matplotlib impor
  • 在逻辑回归中使用排名数据

    当我努力学习这些概念时 我将对此给予最大赏金 我正在尝试在逻辑回归中使用一些排名数据 我想使用机器学习来制作一个简单的分类器来判断网页是否 好 这只是一个学习练习 所以我不期望有很好的结果 只是希望学习 过程 和编码技术 我已将数据放入 c
  • 如何组合多个朴素贝叶斯分类器的输出?

    我是新来的 我有一组使用 Sklearn 工具包中的朴素贝叶斯分类器 NBC 构建的弱分类器 我的问题是如何结合每个 NBC 的输出来做出最终决定 我希望我的决定是基于概率而不是标签 我用 python 编写了以下程序 我假设 sklean
  • 如何将 sklearn.naive_bayes 与(多个)分类特征一起使用? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想学习朴素贝叶斯模型来解决类为布尔值的问题 有些特征是布尔型的 但其他特征是分类型的 并且可以采用少量值 5 如果我所有的功能都是布尔值
  • 地图应用的聚类算法

    我正在研究地图上的聚类点 纬度 经度 对于快速且可扩展的合适算法有什么建议吗 更具体地说 我有一系列纬度 经度坐标和一个地图视口 我正在尝试将靠近的点聚集在一起以消除混乱 我已经有了解决问题的方法 see here http bouldr
  • 为什么 scikit learn 的平均精度分数返回 nan?

    我的 Keras 模型旨在接收两个输入时间序列 将它们连接起来 通过 LSTM 提供它们 并在下一个时间步骤中进行多标签预测 有 50 个训练样本 每个样本有 24 个时间步 每个样本有 5625 个标签 有 12 个验证样本 每个样本有
  • 池化与随时间池化

    我从概念上理解最大 总和池中发生的情况作为 CNN 层操作 但我看到这个术语 随时间变化的最大池 或 随时间变化的总和池 例如 用于句子分类的卷积神经网络 https arxiv org pdf 1408 5882 pdfYoon Kim
  • 如何在sklearn决策树中显示特征名称?

    我目前有一个决策树 将功能名称显示为X index i e X 0 X 1 X 2 etc from sklearn import tree from sklearn tree import DecisionTreeClassifier d
  • Scikit-learn - ValueError:输入包含 NaN、无穷大或对于随机森林的 dtype('float32') 来说太大的值

    首先 我检查了有关此错误的不同帖子 但没有一个可以解决我的问题 因此 我使用随机森林 并且能够生成森林并进行预测 但有时在森林的生成过程中 我会收到以下错误 ValueError 输入包含 NaN 无穷大或对于 dtype float32
  • 提高SVM分类器准确率的技术

    我正在尝试使用 UCI 数据集构建一个分类器来预测乳腺癌 我正在使用支持向量机 尽管我尽最大努力提高分类器的准确性 但仍无法超过 97 062 我尝试过以下方法 1 Finding the most optimal C and gamma
  • 理解高斯混合模型的概念

    我试图通过阅读在线资源来理解 GMM 我已经使用 K 均值实现了聚类 并且正在了解 GMM 与 K 均值的比较 以下是我的理解 如有错误请指出 GMM 类似于 KNN 在这两种情况下都实现了聚类 但在 GMM 中 每个簇都有自己独立的均值和
  • 在具有不平衡数据的管道中进行交叉验证的正确方法

    对于给定的不平衡数据 我创建了一种不同的标准化管道和一种热编码 numeric transformer Pipeline steps scaler StandardScaler categorical transformer Pipelin
  • 对象检测 ARKit 与 CoreML

    我正在建设ARKitiPhone 的应用程序 我需要检测特定的香水瓶并根据检测到的内容显示内容 我使用来自developer apple com的演示应用程序来扫描现实世界的对象并导出 arobject我可以在资产中使用的文件 它工作正常
  • Python:scikit learn 中正态分布的特征选择

    我有一个pandasDataFrame 其索引是唯一用户标识符 与唯一事件对应的列以及值 1 已参加 0 未参加 或 NaN 未受邀请 不相关 相对于 NaN 该矩阵相当稀疏 有数百个事件 而大多数用户最多只被邀请参加数十个 我创建了一些额
  • scikit-learn 适合大数据任务吗?

    我正在研究一项涉及使用机器学习技术的 TREC 任务 其中数据集由超过 5 TB 的 Web 文档组成 计划从中提取词袋向量 scikit learn有一组不错的功能似乎可以满足我的需求 但我不知道它是否能够很好地扩展以处理大数据 例如 是
  • 使用纬度/经度对的自定义距离度量进行聚类

    我试图为 scikit learn DBSCAN 实现指定一个自定义聚类函数 def geodistance latLngA latLngB print latLngA latLngB return vincenty latLngA lat
  • 与 XGBoost gridsearch rating='roc_auc' 和 roc_auc_score 不同的 roc_auc 吗?

    我使用 GridSearch 来解决分类问题 A parameter grid for XGBoost params min child weight 1 5 10 gamma 0 5 1 1 5 2 5 subsample 0 6 0 8

随机推荐

  • MySql 中的考勤报告

    我想编写一个查询来生成员工的出勤报告 首先 我将告诉您如何将员工的存在存储在我的数据库中 我有以下表格 Employee Table with Columns emp id emp Name Joining Date 1 john 11 0
  • SSL websocket 与 Nginx 无法连接

    获取时遇到问题Nginx to proxy pass使用 websockets 和 SSL WSS NGINX 配置 map http upgrade connection upgrade default upgrade close ser
  • LLDB 可以在 *(&function+offset) 上中断吗?

    我习惯使用 GDB 但我无法使用 LLDB 找到等效的函数 我希望能够将断点放置在距离函数基地址一定的偏移量处 使用 GDB 我可以做到 b 函数X 20 有没有办法用 LLDB 做到这一点 虽然它的格式有点奇怪 但我使用的方法是 b a
  • 使用相对导入动态导入模块的正确方法?

    我需要从另一个包动态地将模块导入到我的项目中 结构如下 project folder project init py main py plugins init py plugin1 init py plugin2 init py 我做了这个
  • 使用 C++ 代码中的 Windows 本机程序打开文件

    我的 C 程序创建 png 文件 我需要在创建后立即打开 查看 该文件 有没有办法打开它 以便在其中打开它Windows资源管理器 因此文件将使用用户首选的程序打开 并且如果没有与文件格式关联的程序 Windows 将显示对话框窗口 用户可
  • 调试错误,nbjpdastart 不支持嵌套的“modulepath”元素

    我正在尝试在 netbeans 8 2 和 JDK 1 8 131 上调试 java 代码 但我不断收到此错误 nbproject build impl xml 1351 执行此行时发生以下错误 nbproject build impl x
  • 如何使用 SystemJS 指定库依赖项?

    Using SystemJS https github com systemjs systemjs 如何指定一个库依赖于另一个库 例如 引导程序 http getbootstrap com JavaScript 库依赖于jQuery htt
  • 一个令牌与多个令牌防止 CSRF 攻击

    我正在使用 Codeigniter 我想防止可能发生的 CSRF 攻击尝试 为了实现这一目标 我向我想要保护的每个表单添加一个带有随机令牌的隐藏输入标记 同时我将此令牌保留在会话中 以便在开始处理此表单数据时进行比较 set a token
  • iOS9 的 Core Image 中的“需要一个 swizzler 以便可以读取 RGB8”是什么意思?

    首先 我想了一个解决办法 但这不是一个好办法 我会在最后给出 当我处理 Filter In 时iOS9我收到 需要一个 swizzler 以便可以读取 RGB8 错误消息 并且通过此方法返回的图像是全黑的 self context crea
  • 有没有办法让 Bitbucket 在每次进行远程 Mercurial 操作时不询问我的密码?

    对于我推送到的所有其他 Mercurial 存储库 我可以在 hgrc 实际上是 Mercurial ini 因为我使用 Windows 中设置用户名和密码 以便在特定域中执行操作 并且 Mercurial 不会提示我进行身份验证信息 然而
  • ProcessPoolExecutor、BrokenProcessPool 处理

    在本文档中 https pymotw com 3 concurrent futures https pymotw com 3 concurrent futures 它说 ProcessPoolExecutor 的工作方式与 ThreadPo
  • CSS 宽度减法

    CSS中如何减去宽度 例如 width 100 10px 我不是在谈论填充或边距 现在与calc https developer mozilla org en US docs Web CSS calc解决方案将是 width calc 10
  • 为什么我的 UIView 没有随着 CGAffineTransformMakeScale 增长?

    我的目标是使视图大小增加一倍 我用我的代码得到的结果是 什么也没发生 视图会显示但不会增长 任何帮助 将不胜感激 Here s the H file Here s the custom method in the M file Here s
  • 为什么使用 http 而不是 https 打开网站时 chrome.runtime 未定义?

    我有一个非常简单的 html 文件 其中包含以下内容 我的页面 html p chrome runtime test p 当我在带有 http 的 Web 服务器中使用这个 html 文件时 chrome runtime 是未定义的 例子
  • 将 JS 与 rollup 和 Babel 捆绑在一起,用于 IE11

    我尝试捆绑两个 JavaScript 模块 以便生成的代码可以在 IE11 中运行 为此 我设置了一个yarn npm项目 它使用rollup js用于捆绑和Babel用于转译 一切正常 直到我添加 非开发 依赖项core js 这里是详细
  • Python 比 Java/C# 慢吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Python 比 Java C 慢吗 性能比较 c java python ruby jython jruby groovy http blog
  • 伊莎贝尔和斯卡拉[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在考虑创建 Eclipse PDE 并且需要与 Isabelle 进行通信 我确实发现一些出版物声
  • 了解 Knuth Morris Pratt (KMP) 失效函数

    我一直在读关于 Knuth Morris Pratt 算法的维基百科文章 http en wikipedia org wiki Knuth E2 80 93Morris E2 80 93Pratt algorithm我对如何在跳转 部分匹配
  • 解析Java中的任何日期

    我知道这个问题被问了很多 显然你无法解析任何任意日期 然而 我发现 python dateutil 库能够解析我扔给它的每个日期 同时在找出日期格式字符串时需要绝对零的努力 Joda time 始终被认为是一个出色的 Java 日期解析器
  • 在scikit-learn中,DBSCAN可以使用稀疏矩阵吗?

    当我运行 scikit 的 dbscan 算法时 出现内存错误 我的数据约为20000 10000 它是一个二进制矩阵 也许这样的矩阵不适合使用DBSCAN 我是机器学习的初学者 我只是想找到一种不需要初始簇号的聚类方法 不管怎样 我发现了