테스트 데이터에서 혼동 행렬을 얻으려면 다음 두 단계를 거쳐야합니다.
- 테스트 데이터 예측
예를 들어, 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 문서는 훈련 데이터, 검증 데이터 및 테스트 데이터의 세 가지 데이터 세트를 사용합니다. 교육 데이터는 모델 매개 변수를 최적화하는 데 사용됩니다. 유효성 검사 데이터는 메타 매개 변수 (예 : 에포크 수)를 선택하는 데 사용됩니다. 메타 매개 변수가 최적 인 모델을 최적화 한 후에는 테스트 데이터를 사용하여 모델 성능을 공정하게 추정합니다.