Я использую следующий код:
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 данным поезда, а когда model.predict()
вызывается на X_test
, он выполняет преобразование tfidf только на основе данных поезда.
Поскольку tf idf работает, получая частоту слов в документе и корпусе, мне интересно, что происходит ниже в функциях .fit_transform
и .transform
.