Почему функции TF-IDF для каждого образца различны для входов в поезда и тест? - PullRequest
0 голосов
/ 24 февраля 2020

Tf -idf - это ошибка значения givng, до сих пор она работала нормально.

1 Ответ

0 голосов
/ 24 февраля 2020

Должно быть model.fit(tf_train, y_train), затем model.predict(tf_test).

tf_idf_vectorizer = TfidfVectorizer(ngram_range=(2,2))

tf_train=tf_idf_vectorizer.fit_transform(X_train)
tf_test= tf_idf_vectorizer.transform(X_test)

model=LogisticRegression()

model.fit(tf_train, y_train)

y_predict=model.predict(tf_test)

Вы fit_tranform преобразованные входы, т.е. tf_train, и вы применяете model.predict также к преобразованным тестовым входам, т.е. tf_test.


Как здравый смысл, проверьте, выполните len(X_train), и вы должны получить 97624, затем len(X_test), и вы должны получить 11. Вот откуда эта ошибка:

ValueError: X имеет 97624 функций на выборку; ожидая 11

P / S: внимательно посмотрите на https://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html

...