我正在使用一个简单的搜索引擎,在该引擎中,我使用TF-IDF公式对搜索词的重要性进行评分。我看到人们在公式中使用不同的基数,但是我看不到何时使用哪个解释。一点关系都没有,您有什么建议吗?
我当前的实现使用math.h库的常规log()函数
答案 0 :(得分:0)
没关系,因为以下等式成立:
log_a(x)/log_a(y) = log_b(x)/log_b(y)
您始终可以从一种基础转换为另一种基础。实际上非常简单。只需使用以下公式:
log_b(x) = log_a(x)/log_a(b)
工程师通常更喜欢2和10这样的基数,而数学家更喜欢自然对数。
因此,假设您要使用log()
发送5.63的2个对数。只需使用log(5.63)/log(2)
。
如果需要它,只需将此函数用于任意基数即可:
double logb(double x, double b) {
return log(x)/log(b);
}