将五个模型得分绘制成直方图,并命好名,X轴分别为LR、贝叶斯、KNN、决策树、SVM
时间: 2024-11-28 20:27:45 浏览: 17
要在Python中将五个模型的得分绘制成直方图并命名每个柱子,可以使用如下的代码结合matplotlib库:
```python
import matplotlib.pyplot as plt
import numpy as np
# 假设你有五个模型的得分数据,分别存储在列表或数组中
scores_lr = [0.8, 0.75, 0.9, 0.85]
scores_bayes = [0.65, 0.7, 0.68, 0.72]
scores_knn = [0.78, 0.75, 0.82, 0.79]
scores_dt = [0.83, 0.81, 0.84, 0.82]
scores_svm = [0.91, 0.9, 0.92, 0.9]
# 合并所有分数到一个列表
all_scores = [scores_lr, scores_bayes, scores_knn, scores_dt, scores_svm]
# 定义x轴标签(模型名称)
model_names = ['Logistic Regression', '朴素贝叶斯', 'K-Nearest Neighbors', '决策树', '支持向量机']
# 绘制直方图
fig, ax = plt.subplots()
ax.set_xlabel('Model Scores')
ax.set_ylabel('Count')
ax.set_title('Scores Distribution for Different Models')
for i, score_list in enumerate(all_scores):
ax.barh(model_names[i], score_list, height=0.5)
plt.show()
```
这将创建一个水平直方图,每个模型对应一个柱子,柱子的高度表示该模型得分的数据频率。每个柱子的顶部显示对应的模型名称。
阅读全文