这是由于“ l2归一化”(TfidfVectorizer中的默认设置)。如您所料,的第一个结果
transform()是:
array([[ 1.40546511, 1.40546511, 0. , 0. , 0. , 0. ]])
但是现在标准化已完成。在这种情况下,上述向量被除法器除:
dividor = sqrt(sqr(1.40546511)+sqr(1.40546511)+sqr(0)+sqr(0)+sqr(0)+sqr(0)) = sqrt(1.975332175+1.975332175+0+0+0+0) = 1.98762782
因此,最终的数组为:
array([[ 0.70710678, 0.70710678, 0. , 0. , 0. , 0. ]])
然后应用求和,其结果为=
1.4142135623730951。
希望现在清楚了。您可以在这里参考我的回答,以完成TfidfVectorizer的工作。



