对比excel数据在随机森林、逻辑回归、贝叶斯、决策树、KNN训练后对比precision、recall、f1-score、accuracy四项指标的结果对比图柱状图代码,precision、recall、f1-score、accuracy的柱子要求颜色不一致,x轴的列明设置倾斜代码实现
时间: 2023-09-04 19:13:32 浏览: 174
Excel对比工具;批量对比Excel,以不同颜色标记差异
下面是一个示例代码,用于根据Excel数据绘制随机森林、逻辑回归、贝叶斯、决策树和KNN模型在precision、recall、f1-score和accuracy方面的对比柱状图:
```python
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# 从Excel读取数据
data = pd.read_excel('data.xlsx') # 替换为你的Excel文件路径
# 提取模型名称和指标值
models = data['Model'].tolist()
precision = data['Precision'].tolist()
recall = data['Recall'].tolist()
f1_score = data['F1-score'].tolist()
accuracy = data['Accuracy'].tolist()
# 设置柱状图的颜色
colors = ['red', 'green', 'blue', 'yellow', 'orange']
# 绘制柱状图
fig, ax = plt.subplots()
bar_width = 0.2
index = np.arange(len(models))
rects1 = ax.bar(index, precision, bar_width, color=colors[0], label='Precision')
rects2 = ax.bar(index + bar_width, recall, bar_width, color=colors[1], label='Recall')
rects3 = ax.bar(index + 2 * bar_width, f1_score, bar_width, color=colors[2], label='F1-score')
rects4 = ax.bar(index + 3 * bar_width, accuracy, bar_width, color=colors[3], label='Accuracy')
# 设置x轴标签倾斜
ax.set_xticks(index + 2 * bar_width)
ax.set_xticklabels(models, rotation=45, ha='right')
# 设置图例
ax.legend()
# 显示网格线
ax.grid(True)
# 添加标题和轴标签
plt.title('Comparison of Performance Metrics')
plt.xlabel('Models')
plt.ylabel('Scores')
# 显示图形
plt.tight_layout()
plt.show()
```
在上述代码中,你需要将`'data.xlsx'`替换为你的Excel文件路径,确保Excel文件中包含Model、Precision、Recall、F1-score和Accuracy列。运行代码后,将生成一个柱状图,用于对比不同模型在precision、recall、f1-score和accuracy方面的性能。每个指标的柱子颜色都不同,并且x轴的列名会被倾斜显示。你可以根据实际需求进行修改和优化。
阅读全文