python是否有绘制混淆矩阵的函数,怎么来实现
答案:2 悬赏:80 手机版
解决时间 2021-02-12 02:43
- 提问者网友:伴风望海
- 2021-02-11 23:03
python是否有绘制混淆矩阵的函数,怎么来实现
最佳答案
- 五星知识达人网友:千杯敬自由
- 2021-02-11 23:59
也就是说ABC: sadhcjsd是一个字符串,现在要提取出后边对吧? in_string = ABC: sadhcjsd 那么: in_string.split(':')[-1] 就是你想要的。
全部回答
- 1楼网友:荒野風
- 2021-02-12 00:38
# -*- coding: utf-8 -*-
"""绘制混淆矩阵图"""
import matplotlib.pyplot as plt
from sklearn.metrics import confusion_matrix
def confusion_matrix_plot_matplotlib(y_truth, y_predict, cmap=plt.cm.blues):
"""matplotlib绘制混淆矩阵图
parameters
----------
y_truth: 真实的y的值, 1d array
y_predict: 预测的y的值, 1d array
cmap: 画混淆矩阵图的配色风格, 使用cm.blues,更多风格请参考官网
"""
cm = confusion_matrix(y_truth, y_predict)
plt.matshow(cm, cmap=cmap) # 混淆矩阵图
plt.colorbar() # 颜色标签
for x in range(len(cm)): # 数据标签
for y in range(len(cm)):
plt.annotate(cm[x, y], xy=(x, y), horizontalalignment='center', verticalalignment='center')
plt.ylabel('true label') # 坐标轴标签
plt.xlabel('predicted label') # 坐标轴标签
plt.show() # 显示作图结果
if __name__ == '__main__':
y_truth = [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0]
y_predict = [1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0]
confusion_matrix_plot_matplotlib(y_truth, y_predict)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯