热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python绘制混淆矩阵_python–如何绘制混淆矩阵?

参见英文答案Howtoplotconfusionmatrixwithstringaxisratherthanintegerinpython4个我正在使用scikit-learn将

参见英文答案 > How to plot confusion matrix with string axis rather than integer in python                                    4个

我正在使用scikit-learn将文本文档(22000)分类为100个类.我使用scikit-learn的混淆矩阵方法来计算混淆矩阵.

model1 = LogisticRegression()

model1 = model1.fit(matrix, labels)

pred = model1.predict(test_matrix)

cm=metrics.confusion_matrix(test_labels,pred)

print(cm)

plt.imshow(cm, cmap='binary')

这就是我的混淆矩阵的样子:

[[3962 325 0 ..., 0 0 0]

[ 250 2765 0 ..., 0 0 0]

[ 2 8 17 ..., 0 0 0]

...,

[ 1 6 0 ..., 5 0 0]

[ 1 1 0 ..., 0 0 0]

[ 9 0 0 ..., 0 0 9]]

但是,我没有收到明确或清晰的情节.有一个更好的方法吗?

解决方法:

您可以使用plt.matshow()而不是plt.imshow(),或者您可以使用seaborn模块的热图(see documentation)来绘制混淆矩阵

import seaborn as sn

import pandas as pd

import matplotlib.pyplot as plt

array = [[33,2,0,0,0,0,0,0,0,1,3],

[3,31,0,0,0,0,0,0,0,0,0],

[0,4,41,0,0,0,0,0,0,0,1],

[0,1,0,30,0,6,0,0,0,0,1],

[0,0,0,0,38,10,0,0,0,0,0],

[0,0,0,3,1,39,0,0,0,0,4],

[0,2,2,0,4,1,31,0,0,0,2],

[0,1,0,0,0,0,0,36,0,2,0],

[0,0,0,0,0,0,1,5,37,5,1],

[3,0,0,0,0,0,0,0,0,39,0],

[0,0,0,0,0,0,0,0,0,0,38]]

df_cm = pd.DataFrame(array, index = [i for i in "ABCDEFGHIJK"],

columns = [i for i in "ABCDEFGHIJK"])

plt.figure(figsize = (10,7))

sn.heatmap(df_cm, annot=True)

标签:text-classification,python,scikit-learn,matrix,matplotlib



推荐阅读
author-avatar
PLDLYY
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有