在sklearn中TF-IDF的默认公式:
在sklearn中tf为由词袋模型得出的矩阵,即词频且不对其进行归一化处理:
t
f
(
d
,
t
)
=
n
(
d
,
t
)
即
词
d
在
文
档
t
中
的
数
量
tf_{(d,t)} = n_{(d,t)}\quad 即词d在文档t中的数量
tf(d,t)=n(d,t)即词d在文档t中的数量
当smooth_idf=True即default的时候:
i
d
f
(
d
,
t
)
=
l
o
g
(
(
1
+
n
)
/
(
d
f
(
d
,
t
)
+
1
)
)
+
1
idf_{(d,t)} =log((1+n)/(df_{(d,t)}+1))+1
idf(d,t)=log((1+n)/(df(d,t)+1))+1
TF-IDF = tf * idf
最后再对tf-idf利用l2范数进行归一化:
t
f
−
i
d
f
=
t
f
−
i
d
f
∗
∑
i
n
x
i
2
tf-idf = tf-idf * \sqrt{\sum_i^n x_i^2}
tf−idf=tf−idf∗i∑nxi2
sklearn中的TF-IDF
最新推荐文章于 2024-03-20 12:59:59 发布