Мне нужно вычислить значения TP, FP, TN и FN из моей матрицы путаницы для задачи классификации нескольких классов.
Поскольку мне нужно получить чувствительность и специфичность.
Вот чтомоя матрица путаницы выглядит так, у меня всего 4 класса:
[[302 23 102 15]
[34 56 34 340]
[34 32 69 54]
[231 89 32 34]]
Вот части моего кода
#loading data using generator with class mode = categorical
test_datagen = ImageDataGenerator(rescale = 1./255)
test_set = test_datagen.flow_from_directory('animals/valid/',
target_size=(150,150),class_mode='categorical',batch_size=32)
#compile the model with categorical cross entropy
model.compile(loss='categorical_crossentropy',optimizer=Adam(lr=0.00001),metrics=['accuracy'])
#calculate confusion matrix
test_im, test_lbl = next(test_set)
predections = model.predict(test_im)
predections = np.argmax(predections, axis = 1)
test_lbl = np.argmax(test_lbl, axis = 1)
conf_mat = confusion_matrix(all_labels, all_predications)
Также верно, что я использую этот подход при расчете матрицы проводимостиучитывая, что классы загружаются в одно горячее значение кодирования из-за использования class_mode = 'категорического' в генераторе изображений.