对比excel数据在随机森林、逻辑回归、贝叶斯、决策树、KNN训练后对比precision、recall、f1-score、support四项指标的结果对比图柱状图代码,precision、recall、f1-score、support的柱子要求颜色不一致,x轴的列明设置倾斜代码实现
时间: 2023-09-24 08:06:30 浏览: 79
机器学习Knn与贝叶斯学习部分PPT教案.pptx
你可以使用Python的matplotlib库来绘制柱状图并设置颜色、倾斜的x轴标签。下面是一个示例代码,你可以根据自己的数据和需求进行修改:
```python
import matplotlib.pyplot as plt
import numpy as np
# 伪造示例数据
models = ['RandomForest', 'LogisticRegression', 'NaiveBayes', 'DecisionTree', 'KNN']
precision = np.random.rand(5)
recall = np.random.rand(5)
f1_score = np.random.rand(5)
support = np.random.randint(10, 50, 5)
# 设置柱状图的颜色
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, support, bar_width, color=colors[3], label='Support')
# 设置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()
```
这段代码会生成一个柱状图,其中每个模型对应四根柱子,分别表示precision、recall、f1-score和support。每根柱子的颜色都不同,并且x轴的列名会被倾斜显示。你可以根据实际需求进行修改和优化。
阅读全文