如何计算以下混淆矩阵的精度 f1 分数和召回率?
filenames = test_generator.filenames
nb_samples = len(test_generator)
y_prob = []
y_act = []
test_generator.reset()
for _ in range(nb_samples):
X_test,Y_test = test_generator.next()
y_prob.append(model.predict(X_test))
y_act.append(Y_test)
predicted_class = [list(train_generator.class_indices.keys())[i.argmax()] for i in y_prob]
actual_class = [list(train_generator.class_indices.keys())[i.argmax()] for i in y_act]
out_df = pd.DataFrame(np.vstack([predicted_class,actual_class]).T,columns=['predicted_class','actual_class'])
confusion_matrix = pd.crosstab(out_df['actual_class'],out_df['predicted_class'],rownames=['actual'],colnames=['predicted'])
fig, ax = plt.subplots(figsize=(5,5))
sns.heatmap(confusion_matrix,cmap='Blues' , annot=True , fmt='d' , ax=ax)
plt.show()