Как изменить мой массив Nupy, чтобы сделать правильный прогноз в Керасе - PullRequest
0 голосов
/ 27 июня 2019

Я обучил свою n-сеть, и все работает нормально, за исключением того, что я не знаю, как отформатировать свои данные, чтобы сделать прогноз для данных, которые не находятся в наборе обучения и тестирования.

  • Я загрузил данные CSV.
  • Я разделил его на тренировочный и тестовый набор, и все в порядке для

    x_train, x_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.1, random_state=0)</p>
    
    <p>bestmodel.fit(x_train, y_train, epochs=1, batch_size=5) 
    я получил около 97% в соотв. Для

    печать (тип (x_test)) печать (x_test.dtype) печать (x_test.shape)

у меня есть вывод, как

 class 
'numpy.ndarray'
float64
(905, 14)

Я сделал свой собственный пример,

 z = np.array([1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1]).astype(float)

    np.reshape(z, (14,)) 

но когда я попробую

bestmodel.predict(z)
я получил ошибку
raceback (most recent call last):
  File "/home/administrator/PycharmProjects/BankMarketinData/main.py", line 81, in 
    main()
  File "/home/administrator/PycharmProjects/BankMarketinData/main.py", line 76, in main
    score = bestmodel.predict(z)
  File "/home/administrator/anaconda3/lib/python3.6/site-packages/keras/engine/training.py", line 1149, in predict
    x, _, _ = self._standardize_user_data(x)
  File "/home/administrator/anaconda3/lib/python3.6/site-packages/keras/engine/training.py", line 751, in _standardize_user_data
    exception_prefix='input')
  File "/home/administrator/anaconda3/lib/python3.6/site-packages/keras/engine/training_utils.py", line 138, in standardize_input_data
    str(data_shape))
ValueError: Error when checking input: expected dense_1_input to have shape (14,) but got array with shape (1,)

Можете ли вы помочь мне изменить форму и отформатировать эту таблицу z, чтобы я мог использовать ее для прогнозирования?

1 Ответ

0 голосов
/ 27 июня 2019

Вам необходимо добавить размер партии со значением 1:

z = np.array([1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1]).astype(float)
# z.shape is (14,)
z = np.expand_dims(z, axis=0)
# z.shape is now (1, 14)

bestmodel.predict(z)
...