簡體   English   中英

良好的哈希函數,可在稀疏機器學習中生成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之間的區別。一切都很好)

您可以嘗試Murmurhashcityhash

暫無
暫無

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM