我在计算正确的假阳性数时遇到问题。但是例如,当我有一个包含16个元素的过滤器时,我得到了10个假阳性,而假阳性率为0。
任何帮助都将不胜感激
for (int numNotInFilter =size+1; numNotInFilter<2*size; numNotInFilter++)
{
if (myBloom.possiblyContains((const uint8_t*)(&numNotInFilter), sizeof(int)))
{
numOfFalsePositives+=1.0;
}
}
double RateOfFalsePositives = (numOfFalsePositives) / ((2 * size) - 1);发布于 2017-04-27 06:09:41
我过去在处理bloom filters时使用过这个库,有一个计算遇到的误报的例子:
https://github.com/ArashPartow/bloom/blob/master/bloom_filter_example02.cpp
根据我对示例中发生的情况的了解,误报概率不仅基于遇到的误报数量,而且还是bloom filter大小的函数。
https://stackoverflow.com/questions/43599442
复制相似问题