和召回率,并计算F1值:

with torch.no_grad(): predicted = net(X_train) # 得到概率并输出 print("Predicted Probabilities:") print(predicted.numpy())

# 计算混淆矩阵
predicted1 = predicted.round()
cm = confusion_matrix(y_train, predicted1)

print("Confusion Matrix:")
print(cm)

# 计算准确率、召回率和F1值
accuracy = accuracy_score(y_train, predicted1)
recall = recall_score(y_train, predicted1)
precision = precision_score(y_train, predicted1)
f1 = f1_score(y_train, predicted1)

print("Accuracy: {:.2f}".format(accuracy))
print("Recall: {:.2f}".format(recall))
print("Precision: {:.2f}".format(precision))
print("F1: {:.2f}".format(f1))

# 绘制ROC曲线
fpr, tpr, thresholds = roc_curve(y_train, predicted)
roc_auc = roc_auc_score(y_train, predicted)
plt.plot(fpr, tpr, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], 'k--')
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('ROC Curve')
plt.legend(loc="lower right")
plt.show(
# 训练绘制ROC曲线with torchno_grad predicted = netX_train # 得到概率并输出 printPredicted Probabilities printpredictednumpy # 计算混淆矩阵 predicted1 = predictedround cm = confusion_matrixy_train pr

原文地址: https://www.cveoy.top/t/topic/dIK0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录