Использует ли keras.evaluate keras.predict? - PullRequest
0 голосов
/ 25 июня 2019

Я построил модель машинного обучения с тензорным потоком и керасом, и когда я тестирую ее с помощью «оценки», я получаю довольно хорошие оценки.Но затем, когда я на самом деле хочу использовать модель, я использую «предвидеть», а затем она предсказывает много неправильных.

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

Поэтому мой вопрос заключается в том, выполняет ли «оценка» что-то принципиально иное, чем использование «прогнозирования» и вычисление баллов прогнозов.

Извините, если этот вопрос несколько глуп, но меня бесит, что я получаю такие хорошие оценки, но моя модель не работает.

Заранее спасибо:)

PS: я думаю, что весь мой код был бы немного излишним, но я хотел показать вам, как я оцениваю, может быть, я делаю ошибку здесь:

На данный момент у меня есть мои тестовые данные в словаре под названием test_set, гдеключи - это категории (выходные данные модели), а значения - входные данные для модели.

test_label = {}
for key in test_set:
    test_set[key] = np.array(test_set[key]).reshape(-1,255)
    test_label[key] = []
    for entry in test_set[key]:
        test_label[key].append(key)
    test_label[key] = np.array(test_label[key]).reshape(-1,18)

for key in test_set:
    model.evaluate(np.array(test_set[key]),test_label[key])

И это мой вывод:

1000/1000 [==============================] - 0s 124us/sample - loss: 0.0088 
- binary_accuracy: 0.9970
1000/1000 [==============================] - 0s 72us/sample - loss: 0.0556 - 
binary_accuracy: 0.9443
1000/1000 [==============================] - 0s 79us/sample - loss: 0.0556 - 
binary_accuracy: 0.9444
1000/1000 [==============================] - ETA: 0s - loss: 0.0543 - 
binary_accuracy: 0.912 - 0s 73us/sample - loss: 0.0543 - binary_accuracy: 
0.9131
1000/1000 [==============================] - 0s 103us/sample - loss: 0.0045 
- binary_accuracy: 0.9963
1000/1000 [==============================] - 0s 70us/sample - loss: 
9.6615e-06 - binary_accuracy: 1.0000
1000/1000 [==============================] - 0s 79us/sample - loss: 0.0028 - 
binary_accuracy: 0.9970
1000/1000 [==============================] - 0s 99us/sample - loss: 1.9372e- 
05 - binary_accuracy: 1.0000
1000/1000 [==============================] - 0s 121us/sample - loss: 
9.1933e-04 - binary_accuracy: 0.9993
1000/1000 [==============================] - 0s 82us/sample - loss: 0.0169 - 
binary_accuracy: 0.9609
1000/1000 [==============================] - 0s 102us/sample - loss: 0.0098 
- binary_accuracy: 0.9998
1000/1000 [==============================] - 0s 103us/sample - loss: 0.0561 
- binary_accuracy: 0.9443
1000/1000 [==============================] - 0s 102us/sample - loss: 0.0495 
- binary_accuracy: 0.9564
1000/1000 [==============================] - 0s 76us/sample - loss: 0.0590 - 
binary_accuracy: 0.9444
1000/1000 [==============================] - 0s 83us/sample - loss: 0.0327 - 
 binary_accuracy: 0.9534
1000/1000 [==============================] - 0s 80us/sample - loss: 0.0303 - 
binary_accuracy: 0.9561
1000/1000 [==============================] - 0s 86us/sample - loss: 0.0345 - 
binary_accuracy: 0.9421

Так что я получаю довольно хороший scores для каждой категории, но затем, когда я перебираю некоторые данные и использую предикат для каждой записи, он вводит в некоторые категории каждую ошибочную запись.

Буду так рад, если кто-нибудь узнает что-то полезное.

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