问题标签 [murmurhash]
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.
javascript - Javascript 中的 Murmur3_128
我很难找到一种在 javascript 中生成 HASH 的方法,该方法等同于使用此代码在 java 中生成的方法
有没有人知道我是否可以在 javascript 中生成与从 java 中的此类代码生成的哈希相同的哈希?我找不到任何可以让我得到相同结果的东西..
murmurhash - 删除哈希函数中的“雪崩操作”?
我们正在使用散列函数(例如 murmurhash3)来有效地检查数据的修改。在实现 murmurhash3 时,我们注意到它在结尾处为雪崩效果添加了额外的操作。我们可以在保持抗碰撞性的同时去除这些操作以获得更高的速度吗?
python-3.x - 需要 Python 3.7 spaCy 帮助 - 环境不一致问题?
尝试将 spaCy 调用到我的 Jupyter 笔记本时遇到问题。当我运行时,
import spacy
我得到以下信息:
我以前多次使用 spaCy 都没有问题,但我注意到这个问题是在我尝试安装之后开始的,我from neuralcoref import Coref
不确定这是否导致了这个问题。
当我进入终端并运行conda list spacy
时,看起来 spaCy 可用:
我不太明白错误的含义,但我尝试使用重新安装 murmurhash,conda install -c anaconda murmurhash
之后我得到了这个。这只是前几个的屏幕截图,但据称有许多软件包会导致不一致:
作为参考,我使用的是 MacOS 和 python 3.7。我怎样才能解决这个问题?
ubuntu-18.04 - ImportError:无法导入名称“hash_unicode”
使用“import spacy”导入 spacy 时,出现此错误。
系统是 ubuntu,GPU 不可用。如何解决这个问题。
另外,有没有办法通过删除所有 spacy 包来完全重新安装 spacy,因为我认为这可能会解决问题。
hash - Murmurhash 在 32 位输入上有冲突吗?
考虑标准 Murmurhash,给出 32 位输出值。
假设我们将其应用于 32 位输入——是否存在冲突?
换句话说,当应用于 32 位输入时,Murmurmash 是否基本上对排列进行编码?如果存在冲突,谁能举个例子(扫描随机输入没有产生任何结果)?
java - 使用java复制python featurehashing不起作用
我正在尝试编写一个将 python FeatureHasher 复制到 Java 替代方案中的 java 方法。
https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.FeatureHasher.html
下面是python代码。
我正在使用 guava 库 (guava:29.0-jre) 使用下面的代码来模拟上述转换,但是在使用 murmurhash3 之后,java 代码返回一个字节数组。我的要求是创建一个稀疏指标,如上面的 python 代码结果。
这是java代码:
如何使用这个 guava 库生成稀疏指标?
python - murmurhash 没有 string_hash 属性
我尝试像在旧的 murmur 模块(murmur.string_hash)中一样应用 murmurhash.string_hash,但它给了我一个错误,即 murmurhash 模块不包含 strin_hash 属性有人知道如何解决这个问题我尝试使用 murmur 模块但它没有不再使用 python3
cassandra - Cassandra 中的 partitioner 如何为特定的数据集确定哈希函数,以确保数据在多个集群中均匀分布?
正如我们从 Cassandra 的文档 [ Link to doc ] 中知道的那样,分区器应该使数据均匀分布在多个节点上,以避免读取热点。Cassandra 为此提供了各种分区算法 - Murmur3Partitioner、RandomPartitioner、ByteOrderedPartitioner。
Murmur3Partitioner 是 Cassandra 设置的默认分区算法。它对分区键进行哈希处理并转换为范围从 -2^63 到 +2^63-1 的哈希值。我的查询是,我们有不同的数据集,它们有不同的分区键。例如,可以使用 uuid 类型的数据设置分区键,其他可以设置名字和姓氏作为分区键,其他可以设置时间戳作为分区键,还可以在分区键中设置城市名称。
现在假设一个以城市为分区键的数据集,假设
节点 1 存储休斯顿数据
节点 2 存储芝加哥数据
Node 3 故事 Phoenix 数据等等……
并且我们的数据在某一时刻获得更多与芝加哥市的数据条目,然后节点 2 将拥有我们数据库的最大记录,并且在这种情况下会有热点。在这种情况下,Cassandra 将如何设法在这些节点之间均匀分布数据?
python - Python字符串散列没有冲突
有没有什么方法可以在 python 3 中实现散列而不发生任何冲突?
我正在使用 mmh3 提供的 mmh3
为了避免冲突,我正在实施 Salt(或种子)。这对独特性来说足够了吗?
目的:
我的字符串包含特殊字符和长字符串,我需要在数据库中更新并索引它。我假设(可能是错误的),带有特殊字符的查询导致问题。这就是我生成散列并存储在数据库中的原因。如果我的假设是错误的,那么我可以存储原始值
python - 具有 Kirsch Mitzenmacher 优化的布隆过滤器
我最近开始玩布隆过滤器,我有一个用例,这个计算器建议使用 15 个不同且不相关的哈希函数。对一个字符串进行 15 次散列运算会占用大量计算资源,因此我开始寻找更好的解决方案。
很高兴,我遇到了Kirsch-Mitzenmacher 优化,它提出了以下建议:hash_i = hash1 + i * hash2, 0 ≤ i ≤ k - 1
,其中 K 是建议的哈希函数的数量。
在我的具体情况下,我正在尝试创建一个 0.5MiB 的布隆过滤器,它最终应该能够有效地存储 200,000 (200k) 条信息。使用 15 个哈希函数,这将导致p = 0.000042214
, 或 23,689 (23k) 中的 1。
我尝试在python中实现优化如下:
但与创建只有两个哈希值的经典布隆过滤器相比,它的结果似乎要差得多(就误报而言,它的性能要差 10 倍)。
我在这里做错了什么?我是完全误解了优化 - 因此以错误的方式使用公式 - 还是我只是使用了错误的哈希“部分”(这里我在计算中使用了完整的哈希,也许我应该使用前 32 位在一个和另一个的后 32 位上)?或者问题是我在散列之前对数据进行了编码?
我还发现了这个 git 存储库,它讨论了 Bloom Filters 和优化,使用它时的结果在计算时间和误报数量方面都非常好。
*在示例中,我使用 python,因为这是我最熟悉的编程语言来测试,但在我的项目中,我实际上将使用 JavaScript 来执行整个过程。无论如何,非常感谢您选择的任何编程语言的帮助。