Как выполнить цикл при прогнозировании в модели классификации текста keras - PullRequest
0 голосов
/ 08 февраля 2019

Я новичок в Керас.Я написал модель классификации текста и, делая прогнозы для одного ввода, получаю правильные прогнозы, как показано ниже:

text=["Cancelling insurance cover that is in excess of your needs"]
one_test = tokenize.texts_to_matrix(text)
text_array=np.array([one_test[0]])
preds = model.predict(text_array)
yhat1 = model.predict_classes(text_array)
yhat2 = model.predict_proba(text_array)
print(preds)
print(yhat1)
print(yhat2)
prediction1=np.argmax(preds)
print(prediction1)

Вывод: [[0.21625464 0.17296328 0.17964244 0.27282426 0.15831545]]

[3]

[[0,21625464 0,17296328 0,17964244 0,27282426 0,15831545]]

3

Однако требуется отправить список входных данных, чтобы сделать прогнозы

prediction_list=[]
Actionlist= ["Cancelling insurance cover that is in excess of your 
needs","Decrease loan payment","use your surplus cash reserves to pay for 
holiday expense or travel"]
for text in Actionlist:
    print(text)
    one_test = tokenize.texts_to_matrix(text)
    text_array=np.array([one_test[0]])
    preds = model.predict(text_array)
    print(preds)
    yhat1 = model.predict_classes(text_array)
    print(yhat1)
    prediction=np.argmax(preds)
    print(prediction)
    prediction_list.append(prediction)
print(prediction_list)

Я получаю следующий вывод вместо трех прогнозов.

Отмена страхового покрытия, которое превышает ваши потребности

[[0,205537896 0,20620751 0,1970055 0,1982517 0,19315639]]

[1]

1

Уменьшить платеж по кредиту

[[0,205537896 0,20620751 0,1970055 0,1982517 0,19315639]]

[1]

1

используйте свои избыточные денежные резервы для оплаты расходов на отдых или поездки

[[0,2037896 0,20620751 0,1970055 0,1982517 0,19315639]]

[1]

1

[1, 1, 1]

Пожалуйста, помогите Спасибо заранее

1 Ответ

0 голосов
/ 08 февраля 2019

Проблема в том, что вам нужен список для text_to_matrix ().Так что просто установите text=[text] перед передачей его text_to_matrix ().

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