用于在稀疏机器学习中生成uint64或uint32特征id的良好哈希函数
Good hash function for generating uint64 or uint32 feature id in sparse machine learning
我在特征字符串(如查询和标题)上使用哈希函数来生成稀疏的特征id。这个哈希函数应该是高效的,并且在uint64或uint32上有很好的分布。有人能给我一些建议吗?我在java中测试了两种方法。第一个是java hashCode。我发现它在类似的geohash字符串上有很多冲突。第二个是打击。它比hashCode有更多的冲突。
public static long gene(String s) {
long hash = 5381;
int c;
for (int i = 0; i < s.length(); i++) {
c = s.charAt(i);
hash = ((hash << 5) + hash) + c;
}
return hash;
}
(请忽略java long和c++uint之间的区别。一切都很好)
您可以尝试Murmurhash和cityhash
相关文章:
- 如何声明特征矩阵,然后通过嵌套循环初始化它
- 特征::矩阵<双精度,1,3> 结构类型函数中的返回类型函数
- 有没有一种方法可以通过"typedef"为重新定义的基本类型定义特征和强制转换运算符
- 从函数角度看ID到文件路径的内部与外部映射
- 通过组合不同的类型来创建唯一的id
- 我不断收到 [错误] ID 返回 1 退出状态错误,但看不到问题所在
- 特征命名访问向量段
- 将特征矩阵的向量设置为0
- FFMPEG配置文件级别id大小无效
- 特征:模板函数中矩阵的平面图
- basic_string的前导/尾部不区分空格的特征
- 方法内部但循环仍得到预期的不合格id错误C++
- 特征 3 类的模板专用化
- 特征 c++:复矩阵的面积双曲正切(atanh)
- 如何获取 GLFW 窗口 ID?
- C++ 中的特征向量计算
- 根据C++标准的定义实现"is_similar"类型特征
- 编译时检查特征专用化是否具有唯一 ID
- 具有特征类的非限定 ID
- 用于在稀疏机器学习中生成uint64或uint32特征id的良好哈希函数