Щоб отримати матрицю плутанини з тестових даних, слід пройти два кроки:
- Робіть прогнози для даних тесту
Наприклад, використовуйте model.predict_generator
для прогнозування перших 2000 ймовірностей з тестового генератора.
generator = datagen.flow_from_directory(
'data/test',
target_size=(150, 150),
batch_size=16,
class_mode=None, # only data, no labels
shuffle=False) # keep data in same order as labels
probabilities = model.predict_generator(generator, 2000)
- Обчисліть матрицю плутанини на основі прогнозів міток
Наприклад, порівняйте ймовірність із випадком, що тут відповідно 1000 котів та 1000 собак.
from sklearn.metrics import confusion_matrix
y_true = np.array([0] * 1000 + [1] * 1000)
y_pred = probabilities > 0.5
confusion_matrix(y_true, y_pred)
Додаткова примітка щодо даних випробувань та перевірки
Документація Keras використовує три різні набори даних: дані про навчання, дані валідації та дані тесту. Дані тренінгу використовуються для оптимізації параметрів моделі. Дані перевірки використовуються для вибору мета-параметрів, наприклад, кількості епох. Після оптимізації моделі з оптимальними мета-параметрами тестові дані використовуються для отримання справедливої оцінки продуктивності моделі.