Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tfidf在装配到列车数据后如何转换测试数据?_Python_Scikit Learn_Tfidfvectorizer - Fatal编程技术网

Python tfidf在装配到列车数据后如何转换测试数据?

Python tfidf在装配到列车数据后如何转换测试数据?,python,scikit-learn,tfidfvectorizer,Python,Scikit Learn,Tfidfvectorizer,我正在使用以下代码: pipeline = Pipeline([('vect', TfidfVectorizer( ngram_range=(1,2), stop_words="english", sublinear_tf=True ,

我正在使用以下代码:

pipeline = Pipeline([('vect', 
                      TfidfVectorizer( ngram_range=(1,2),
                                       stop_words="english", 
                                       sublinear_tf=True ,
                                       use_idf=True, 
                                       norm='l2' )),
                     ('reduce_dim',
                      SelectPercentile(f_classif, 90)),
                     ('clf', 
                      SVC(kernel='linear',C=1.0, 
                          probability=True, max_iter=70000, 
                          class_weight='balanced'))])

model = pipeline.fit(X_train,y_train)
model.predict(X_test)

x=vectorizer.fit_transform(X_train_text)
y=vectorizer.transform(X_test_text)
根据我的理解,
pipeline.fit()
将tfidf适配到列车数据,当在
X\u测试中调用
model.predict()
时,它仅基于适配的列车数据执行tfidf转换

由于tf idf通过获取文档和语料库中单词的频率来工作,我想知道
.fit\u transform
.transform
函数下面会发生什么。

1)非常接近您的问题,您可以在这里找到:

2) tfidf变换是在
fit transform
内部完成的,这里的
predict
与tfidf矢量器不对应,因为它没有这样的功能,它是SVC的方法。

fit()
fit\u transform()
的基本文档

你对工作的理解是正确的。测试时,为
tf idf矢量器设置参数。这些参数被存储起来,稍后用于转换测试数据

  • 训练数据-
    fit\u transform()
  • 测试数据-
    transform()
如果您想查看内部加工,您应该查看相同的内部加工