理解混淆矩阵.docx

上传人:太** 文档编号:62309330 上传时间:2022-11-22 格式:DOCX 页数:11 大小:53.27KB
返回 下载 相关 举报
理解混淆矩阵.docx_第1页
第1页 / 共11页
理解混淆矩阵.docx_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《理解混淆矩阵.docx》由会员分享,可在线阅读,更多相关《理解混淆矩阵.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、理解混淆矩阵混淆矩阵是描述分类器/分类模型的性能的表。它包含有关 分类器完成的实际和预测分类的信息,此信息用于评估分 类器的性能。请注意,混淆矩阵仅用于分类任务,因此不能用于回归模 型或其他非分类模型。在我们继续之前,让我们看看一些术语。分类器:分类器基本上是一种算法,它使用从训练数据 中获得的知识来将输入数据映射到特定类别或类别。 分类器是二元分类器或多类/多分类/多标签/多输出分类 器。 训练和测试数据:在构建分类模型/分类器时,数据集 被分成训练数据和具有相关标签的测试数据。标签是 预期的输出,它是数据所属的类别或类别。 实际分类:这是数据的预期输出(标签)。 预测分类:这是分类器为特定

2、输入数据提供的输出。一个例子:假设我们已经建立了一个分类器来将汽车的输 入图像分类为轿车或者不是轿车,我们在数据集中有一个 标记为非轿车的图像,但分类模型归类为轿车。在这种情况下,实际分类是非轿车,而预测分类是轿车。混淆矩阵的类型有两种类型的混淆矩阵: 2级混淆矩阵因此,分类器的精度为0.83,即83%如何生成混淆矩阵matplotlib. pylab as pitimport itertoolsimport numpy as npfrom sklearn. metrics import confusion_matrixdef plot_confusion matrix(cm, classes

3、, normalize=False):pit. figure (figsize = (5, 5)pit. imshow(cm, interpolation nearest, cmap pit. cm Blues)pit. title(,Confusion matrix)pit. colorbar ()tick_marks = np. arange(len(classes)pit. xticks(tick_marks, classes, rotation =90)pit. yticks(tick marks, classes) if normalize:cm = cm. astype C flo

4、at5) / cm sum(axis=l):, np. newaxis.thresh = cm. max () / 2.for i, j i n itertools. product(range(cm shape0), range(cm. shape1): pit. text(j, i, cmi, j,horizontalalignment二center”,color=white if cmi, j thresh else black)pit. tight_layout ()pit. ylabel ( Actual)pit. xlabel ( Predicted,)dict_character

5、s 二0: Non-sedan,, 1: Sedan,y_pred = model, predict(test_data)y_pred_classes = np. argmax(y_pred, axis-1)y_true = np. argmax(test_labels, axis=l)confusion_mat = confusion_matrix(y_true, y_pred_classes)plot_confusion_matrix(confusion mat, classes list(dict_characters. values ()为了生成混淆矩阵,我们利用numpy, matp

6、lotlib.pylab 来显示矩阵,来自 sklearn.metrics 包的 confusion_matrix 函数生成混淆矩阵,使用itertools进行循环/迭代。首先,我们定义一个函数plot_confusion_matrix,它将生 成的混淆矩阵和期望/可能的类作为参数,并使用 matplotlib.pylab来显示混淆矩阵。在摘录中,我们假设我们已经拥有经过培训的模型和培训 以及相关标签的测试数据。dict_characters是两个可能的类的字典,在我们的例子中, “非轿车和轿车。y_pred是分类器在测试数据模型上完成的预测数组是我们训练有素的分类器/算法test_data是

7、我们的测试数据y_pred_classes是一个相对于y_pred的索引的numpy数 组,y_pred是分类器在测试中完成的预测数组数据。y_true是相对于test_data的实际/正确标签的numpy索引 数组。testjabels是测试数据的标签列表。使用上面的内容,我们使用sklearn.metrics中的confusion_matrix函数生成混淆矩阵,传入正确的值(y_true)和分类器返回的估计值(y_pred_classes),并 将生成的混淆矩阵存储在变量confusion_mat中。然后,我们将混淆矩阵(confusion_mat)和我们可能的类 的值歹U 表(dict_

8、characters) 作为 plot_confusion_matrix 函数的参数传递,然后将混淆矩阵可视化。多级混淆矩阵2级混淆矩阵顾名思义,2类是一个描述二元分类模型性能的混淆矩阵。我之前描述的轿车分类器的2级矩阵可以这样显示:ActualNon-sedanSedan在此可视化中,我们有两个已概述的局部。我们有预测的 分类局部,其中包含每个类的两个子局部和实际的分类部 分,每个局部有两个子局部。如果这是您第一次看到混淆矩阵,我知道您必须想知道表 中的所有变量代表什么。实际上它很简单,我会尽可能简 单地解释,但在我这样做之前,知道这些变量代表了许多 预测是很重要的。变量a变量a属于Actu

9、al和Predicted分类局部中的Non-sedan 子局部。这意味着一个预测所做的正确分类的非轿车作为 非轿车的图像。变量b变量b属于实际分类局部中的非轿车子局部和预测分类部 分中的轿车子局部。这意味着进行了 b预测,将非轿车的 图像错误地分类为轿车。变量c变量C落在下的轿车在次节实际分类段和下的非轿车在小节 预测分类局部。这意味着进行了c预测,将轿车的图像错误 地分类为非轿车。变量d属于实际和预测分类局部中的轿车子局部。这意味 着d预测所做的正确分类轿车的图像作为轿车。容易腻的柠檬挤压。(我希望? )但是等等,我们还没有完成.现在我们的轿车分类器有我们的混淆矩阵,但这如何帮助 我们确定分

10、类器的性能/效率?为了使用混淆矩阵及其包含的数据确定分类器的性能,我 们可以使用混淆矩阵中的数据(变量)来计算一些标准度 量。准确性2级混淆矩阵的准确性是正确预测总数与预测总数之比。从我们的混淆矩阵中,我们可以看到a和d预测正确地对 输入图像进行了分类,并且b和c预测是对输入图像进行 错误分类的。因此,准确度可以计算为:精度=(A + d) / (A + B + C + d)其中,a + d是正确预测的总数,而a + b + c + d是预测的 总数。真阳性,真阴性,假阳性和假阴性与我们的分类器和混淆矩阵有关:真阳性(TP)是轿车图像被正确分类作为轿车的预测数 量。从我们的混淆矩阵中,变量d也

11、是TP。真阴性(TN)是非轿车图像被正确分类作为非轿车的预 测数量。从我们的混淆矩阵中,变量a也是我们的TN。假阳性(FP)是非轿车图像被错误地归类为轿车的预测数 量。从我们的混淆矩阵中,变量b也是我们的FP。假阴性(FN)是轿车图像被错误地归类为非轿车的预测数 量。从我们的混淆矩阵中,变量c也是我们的FN。真阳性率真阳性率是真阳性与真阳性和假阴性之和的比率。它显示 了分类器将轿车图像分类为轿车的频率。因此,真阳性率可以计算为:真阳性率=(1/ (c + d) 其中d是TP和C是FN真阳性率也称为回忆或敏感性误报率假阳性率是假阳性与真阴性和假阳性之和的比率。它显示 了分类器将非轿车的图像分类为

12、轿车的频率。因此,误报率可以计算为:假阳性率=15/ (A + B) 其中一个是TN和b是FP真正的负面率真正的负面率是真实负面与真实负面和误报之和的比率。 它显示了分类器将非轿车的图像分类为非轿车的频率。因此,误报率可以计算为: 真阴性率=一个/ (A + B)其中一个是TN和b是FP 真正的负面率也称为特异性。假阴性率假阴性率是假阴性与假阴性和真阳性之和的比率。它显示 了分类器将轿车图像分类为非轿车的频率。因此,误报率可以计算为:假阴性率=q/(c + d) 其中d是TP和C是FN精确精确度是真阳性与真阳性和假阳性之和的比率。它显示了 分类器将输入图像分类为轿车的频率,结果证明它是正确 的

13、。计算方法如下:精度=d/ (B + d)其中d是TP和b是FP一个例子假设我们将下面的图像作为分类器的混淆矩阵,我们可以 使用上面定义的度量来评估其性能。Confusion matrix从混淆矩阵中,我们可以看到: 4252个预测被正确地分类为非轿车作为非轿车。因此,我们的变量a和真负值(TN)是4252。 有875个预测错误地将非轿车归类为轿车。因此, 我们的变量b和假阳性(FP)是875。 有421个预测错误地将轿车归类为非轿车。因此, 我们的变量c和假阴性(FN)是421。制作了 4706个正确分类轿车作为轿车的预测。因此,我们的变量d和真阳性(TP)是4706使用我们提取的数据,我们

14、可以计算上述指标并确定分 类器的性能。我们已经可以告诉分类器表现良好,因为正 确预测的数量大于不正确预测的数量。准确性精度=(a + d) / (a + b + c + d)=(4252 + 4706) / (4252 + 875 + 421 + 4706)=(8958) / (10254 )精度=0.87因此,分类器的准确度为0.87,即87%真阳性率TPR = TP / (TP + FN)=4706 / (4706 + 421)=4706 / 5127=TPR = 0.92因此,分类器的真阳性率为0.92,为92%误报率FPR = FP / (FP + TN)= 875/ (875 + 4

15、252)=875 / 5127=FPR = 0.17因此,分类器的假阳性率为0.17,为17%真正的负面率TNR = TN / (TN + FP)=4252 / (4252 + 875)=5127 分之 4252=0.8293348937000195TNR = 0.83因此,分类器的真阴性率为0.83,即83%假阴性率FNR = FN / (FN + TP)= 421/ (421 + 4706)=5127 分之 421=FNR = 0.08因此,分类器的假阴性率为0.08,为8%精确精度=TP/ (TP + FP) =4706 / (4706 + 875)=五千五百八十一分之四千七百。六=0.8293348937000195精度=0.83

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁