#python #numpy #scikit-learn #logistic-regression
#python #numpy #scikit-learn #логистическая регрессия
Вопрос:
После того, как я построил модель, я хотел бы теперь проверить результаты с новыми данными. Я использовал следующее
count_vectorizer = CountVectorizer()
X_train= np.asarray(X_train)
y_train= np.asarray(y_train)
X_test = np.asarray(X_test)
score_log = clf.fit(X_train, y_train).predict(['Hello World'])
использование модели логистической регрессии.
К сожалению, у меня
ValueError: Expected 2D array, got 1D array instead:
array=['Hello World'].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
Когда я попытался использовать
top=['Hello World'].reshape(-1,1)
и ['Hello World'].to_numpy().reshape(-1,1)
Я получил эту новую ошибку:
AttributeError: 'list' object has no attribute 'reshape'
Не могли бы вы объяснить мне, как проверять новые предложения в моей модели?
Ответ №1:
Похоже, вы используете неправильный способ генерации прогноза. Обычно вам нужно будет встроить 'Hello World'
в 2D векторное пространство с помощью определенного преобразователя. Пример выглядит следующим образом:
# transform text to vector
corpus = ['Hello World']
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(corpus)
word_vectors = X.toarray()
# Apply your prediction model with word_vectors below
## CODE
Для получения дополнительной информации о CountVectorizer вы можете прочитать на https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text .CountVectorizer.html
Для получения дополнительной информации обо всем конвейере вы можете прочитать по адресу https://www.kaggle.com/catris25/logistic-regression-with-countvectorizer