Несоответствие размеров при прогнозировании y для нового набора векторизованных текстовых данных с использованием scikit learn - PullRequest
0 голосов
/ 25 февраля 2020

Я натренировал полиномиальную регрессию 3-го порядка, чтобы предсказать значение y для заданного X, где X - векторизованный столбец строк Tfidf. Например, если одна строка гласит «Я ненавижу эту книгу» с ay = 1, а другая строка гласит «Я люблю эту книгу» с ay = 2, модель должна предсказать y = 1.5 для «Я люблю ненавидеть эту книгу» (I ' Я явно упрощаю, но вы видите, что я пытаюсь сделать). Модель работает, когда я использую разделение поезд / тест с тем же набором данных, но если я пытаюсь предсказать значения y для другого набора строк, я получаю ошибку «несоответствие размеров». Мой код выглядит следующим образом:

vect = TfidfVectorizer(min_df=5, ngram_range=(2, 2))
X_train_vect = vect.fit(X_train).transform(X_train)
X_test_vect = vect.transform(X_test)

X_vect=vect.fit(X).transform(X)

poly_features = PolynomialFeatures(3)
X_train_poly = poly_features.fit_transform(X_vect)
poly_model = LinearRegression()
poly_model.fit(X_vect, y)

t2015Q1_vect = vect.fit(t2015Q1['text_clean']).transform(t2015Q1['text_clean'])
t2015Q1_poly = poly_features.fit_transform(t2015Q1_vect)
t2015Q1_pred = poly_model.predict()

(Примечание: X_vect - это разреженная матрица <2895x771 типа '' с 8673 сохраненными элементами в формате сжатой разреженной строки> t2015Q1_vect - это <605x106 разреженная матрица типа '' с 2615 сохраненными элементами в формате Compressed Sparse Row>)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...