我正在绘制一个混淆矩阵。我使用了ScikitLearn的功能。但我不知道为什么colorbar没有从0到1的范围。有没有办法强迫它?
import itertools
def plot_confusion_matrix(cm, title='Confusion matrix RF', cmap=plt.cm.viridis):
plt.imshow(cm, interpolation='nearest', cmap=cmap)
plt.title(title)
plt.colorbar()
tick_marks = np.arange(len(np.unique(y)))
plt.xticks(tick_marks, rotation=90)
ax = plt.gca()
ax.set_xticklabels(['s'+lab for lab in (ax.get_xticks()+1).astype(str)])
plt.yticks(tick_marks)
ax.set_yticklabels(['s'+lab for lab in (ax.get_yticks()+1).astype(str)])
plt.tight_layout()
plt.ylabel('True label')
plt.xlabel('Predicted label')
cm_imp = confusion_matrix(y_true, y_pred)
cm_imp_normalized = cm_imp.astype('float') / cm_imp.sum(axis=1)[:, np.newaxis]
plt.figure(figsize=(8,6))
plot_confusion_matrix(cm_imp_normalized)
plt.show()
print("")
print("")
答案 0 :(得分:2)
您可以使用vmin, vmax
的{{1}}参数设置颜色范围。
imshow