acc = accuracy_score(label_test, test_pred) print('\nAccuracy') print(acc) prec = precision_score(label_test, test_pred) print('\nPrecision') print(prec) rec = recall_score(label_test, test_pred) # ,average='macro') print('\nRecall') print(rec) f1 = f1_score(label_test, test_pred) # ,average='macro') print('\nF1 Score') print(f1) avrg = (acc + prec + rec + f1) / 4 print('\nAverage (acc, prec, rec, f1)') print(avrg) import matplotlib.pyplot as plt x_labels = ['Accuracy', 'Precision', 'Recall', 'F1 Score'] y_values = [acc, prec, rec, f1] fig, ax = plt.subplots() ax.bar(x_labels, y_values) avrg = np.mean(y_values) ax.axhline(avrg, color='gray', linestyle='--') ax.text(0.5, avrg + 0.01, f'Average: {avrg:.10f}', ha='center', va='bottom', color='gray') # 显示图表 plt.show() return acc, prec, rec, f1, avrg
时间: 2023-06-18 19:05:23 浏览: 104
使用sklearn的cross_val_score进行交叉验证实例
这段代码是评估分类模型的性能指标,并将结果可视化。其中使用了四个指标:准确率(accuracy)、精确率(precision)、召回率(recall)和 F1 值(f1 score)。将这些指标计算出来后,会求出它们的平均值作为最终的性能指标。最后,使用 Matplotlib 库将这些指标可视化成柱状图,并在图中加入了平均值的参考线和文字标注。函数返回的是这些指标的值。
阅读全文