假设我用于单个文档
text="bla agao haa"
singleTFIDF = TfidfVectorizer(analyzer='char_wb', ngram_range=
(4,6),preprocessor=my_tokenizer, max_features=100).fit([text])
single=singleTFIDF.transform([text])
query = singleTFIDF.transform(["new coming document"])
如果我理解正确,则变换只使用从拟合中学习到的权重。因此,对于新文档,查询包含文档中每个特征的权重。它看起来像 [[0,,0,0.13,0.4,0]]
当我使用 n-gram 时,我也想为这个新文档获取这些功能。所以我知道新文档中每个特性的权重。
编辑:
在我的情况下,我得到一个并查询以下数组:
single
[[0.10721125 0.10721125 0.10721125 0.10721125 0.10721125 0.10721125
0.10721125 0.10721125 0.10721125 0.10721125 0.10721125 0.10721125
0.10721125 0.10721125 0.10721125 0.10721125 0.10721125 0.10721125
0.10721125 0.10721125 0.10721125 0.10721125 0.10721125 0.10721125
0.10721125 0.10721125 0.10721125 0.10721125 0.10721125 0.10721125
0.10721125 0.10721125 0.10721125 0.10721125 0.10721125 0.10721125
0.10721125 0.10721125 0.10721125 0.10721125 0.10721125 0.10721125
0.10721125 0.10721125 0.10721125 0.10721125 0.10721125 0.10721125
0.10721125 0.10721125 0.10721125 0.10721125 0.10721125 0.10721125
0.10721125 0.10721125 0.10721125 0.10721125 0.10721125 0.10721125
0.10721125 0.10721125 0.10721125 0.10721125 0.10721125 0.10721125
0.10721125 0.10721125 0.10721125 0.10721125 0.10721125 0.10721125
0.10721125 0.10721125 0.10721125 0.10721125 0.10721125 0.10721125
0.10721125 0.10721125 0.10721125 0.10721125 0.10721125 0.10721125
0.10721125 0.10721125 0.10721125]]
query
[[0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.
0.57735027 0.57735027 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.
0. 0. 0. 0.57735027 0. 0.
0. 0. 0. ]]
但这很奇怪,因为从学习的语料库(单个)中,所有特征的权重都是 0.10721125。那么新文档的一个特征怎么会有0.57735027的权重呢?