[英]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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.