何时为tf-idf使用哪个日志基础?

时间:2019-05-06 09:42:29

标签: c tf-idf

我正在使用一个简单的搜索引擎,在该引擎中,我使用TF-IDF公​​式对搜索词的重要性进行评分。我看到人们在公式中使用不同的基数,但是我看不到何时使用哪个解释。一点关系都没有,您有什么建议吗?

我当前的实现使用math.h库的常规log()函数

1 个答案:

答案 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);
}