plot_roc_curve( model, X_sub_train, y_sub_train ); 打印出模型在训练集上的分类报告和混淆矩阵。...混淆矩阵 在分类任务中,模型预测和标签总不是完全匹配,而混淆矩阵 (confusion matrix) 就是记录模型表现的 N×N 表格 (其中 N 为类别的数量),通常一个轴列出真实类别,另一个轴列出预测类别...以二分类任务 (识别一个数字是 3 还是 5) 为例 N = 2 的混淆矩阵的一般形式和具体例子如下: 真负类:预测是 5 (负类),而且分类正确。 假正类:预测是 3 (正类),但是分类错误。...plot_roc_curve( model, X_sub_test, y_sub_test ); 打印出模型在测试集上的分类报告和混淆矩阵。...首先用 predict_proba() 函数获取模型的预测正类负的概率,该模型有两列,第一列是预测负类的概率,第二列是预测正类的概率,我们需要第二列,因此在下面代码中,用 [:,1] 获取第二列作为 y_score
假设我们正在创建一个模型来对不平衡的数据集执行二分类。93%的数据属于A类,而7%属于B类。 ? 我们有一个只把样本预测为A类的模型,其实我们很难称之为“模型”,因为它只能预测A类,没有任何计算推理。...混淆矩阵(Confusion Matrix) 混淆矩阵不是评估模型的一种数值指标,但它可以让我们对分类器的预测结果有深刻的理解。学习混淆矩阵对于理解其他分类指标如查准率和查全率是很重要的。...相比分类精度,混淆矩阵的使用意味着我们在评估模型的道路上迈出了更深的一步路。混淆矩阵显示了对每一类的预测分别是正确还是错误。对于二分类任务,混淆矩阵是2x2矩阵。...与混淆矩阵相关的关键术语如下: 真阳性(TP):把正类预测为正类(没问题) 假阳性(FP):把负类预测为正类(不好) 假阴性(FN):把正类预测为负类(不好) 真阴性(TN):把负类预测为负类(没问题)...我的诀窍如下: 第二个字表示模型的预测结果 第一个字表示模型的预测是否正确 ? 假阳性也称为I类错误,假阴性也称为II型错误。 混淆矩阵的用途是计算查准率和查全率。
混淆矩阵是一种特定的表格布局,用于可视化监督学习算法的性能,特别是分类算法。在这个矩阵中,每一行代表实际类别,每一列代表预测类别。矩阵的每个单元格则包含了在该实际类别和预测类别下的样本数量。...True Negative (TN) 当模型预测为负类,并且该预测是正确的,我们称之为真负(True Negative)。...在贝叶斯定理的框架下,我们可以更精确地描述这种关系。 例如,我们可以使用贝叶斯定理来计算给定某一观测实际为正类的条件下,模型预测其为正类的概率。...在下一部分中,我们将通过实例来展示如何在实际项目中应用这些概念。 ---- 五、实例分析 理论和代码是用于理解混淆矩阵的重要工具,但将它们应用于实际问题是最终目标。...在这一部分,我们将通过一个具体实例——肺癌诊断——来展示如何使用混淆矩阵以及相应的评价指标。 数据集简介 假设我们有一个肺癌诊断的数据集,其中包括1000个样本。
好看是好看,可惜就是有点看不懂(装傻中) 那么本篇文章我们就来详细介绍一下什么是混淆矩阵,以及如何理解目标检测中的混淆矩阵。...什么是混淆矩阵 首先给出定义:在机器学习领域,特别是统计分类问题中,混淆矩阵(confusion matrix)是一种特定的表格布局,用于可视化算法的性能,矩阵的每一行代表实际的类别,而每一列代表预测的类别...这么说可能有些抽象,那么就先来看一个最简单的例子:二分类的混淆矩阵。 图2 二分类混淆矩阵 上图这张 2 x 2 大小的矩阵就是一个最简单的二分类混淆矩阵,只区分 0 或 1。...图4 多分类混淆矩阵 上图就是一个四分类的混淆矩阵,与二分类的唯一不同就在于分类的标签不再是非正即负,而是会被预测为更多的类别。如果理解了之前二分类的含义,那么很容易就能理解这张多分类混淆矩阵。...使用 MMDetection 绘制混淆矩阵 在理解了什么是混淆矩阵以及如何分析混淆矩阵之后,就可以使用 MMDetection 中提供的小工具,为自己的目标检测模型绘制一个混淆矩阵。
对于分类算法的评价要比回归算法复杂的多,相对应的指标也有很多,具体选取什么样的指标需要根据实际情况,根据数据集以及具体的应用场景来选择。 下面就来看看分类准确度到底有什么问题。...先来看看对于一个作用在一组数据上的分类算法如何得到混淆矩阵,进一步就会看到通过这个混淆矩阵能够得到各种比分类准确度还要好的分类指标。 这一小节先来看一看对于二分类问题相应的混淆矩阵是如何创建的。...对于二分类问题来说,混淆矩阵实际上是一个(2, 2)的矩阵,也就是说混淆矩阵中一共有4个元素。 ?...▲二分类问题的混淆矩阵 上图中最上面一行和最左边一列对应的就是这个混淆矩阵相应的行和列的名称,真正的数值分布在(2, 2)的矩阵中: 矩阵中的每一行代表对于预测的问题来说相应的真实值是多少,这里将真实值写成...0和1; 矩阵中每一列代表使用分类算法进行预测的预测值是是多少,这里将预测值也写成0和1; 对于二分类问题来说对于将所有样本数据分成0和1两类,那么在真实的环境中,通常将: 0称为Negative负的或者阴性
来源: DeepHub IMBA本文约1000字,建议阅读5分钟本文讨论了如何在多分类中使用混淆矩阵评估模型的性能。 什么是混淆矩阵? 它显示了实际值和预测值之间的差异。...通过上面描述我们知道,混淆矩阵的类将具有相同数量的行和列。...考虑这个混淆矩阵在下图 1 中的数据集的输出列中具有 A、B、C 类。...A 类的TP只不过是实际值和预测值相同,这意味着单元格 1 的值为 15。...精度Precision:“模型认为正确且确实是正确的样本占模型认为正确的所有样本的概率”Precision (A) = 正确预测 / 总预测 = 15/24 = 0.625 召回Recall :“模型认为正确且确实是正确的样本占模型认为正确的所有样本的概率
从多分类到二分类 我们将介绍二元分类的概念以及如何利用它来解决类别不平衡的挑战。二元分类涉及将数据集分为两组:正组和负组。通过将问题分解为多个二类问题,这些原则也可以扩展到多类问题。...评估分类器在不平衡数据集上的性能的一个有用工具是基于混淆矩阵的指标。该矩阵提供了模型做出的真阳性、真阴性、假阳性和假阴性预测的细分,从而可以更细致地了解其性能。...混淆矩阵是理解真阳性 (TP) 预测和假阴性 (FN) 预测的有用工具,在真阳性 (TP) 预测中,模型正确识别了阳性类,在假阴性 (FN) 预测中,模型错误地将样本分类为负类实际上是积极的。...混淆矩阵还提供有关假阳性 (FP) 预测的信息,其中模型错误地将样本识别为实际上是阴性的阳性类,以及真阴性 (TN) 预测,其中模型正确识别了阴性类。...通过考虑这些不同类型的预测,我们可以更全面地了解模型的性能。 为了了解分类器的性能,重要的是要考虑一系列评估指标。准确率、精确率和召回率是三个常用的指标,可以从混淆矩阵中计算出来。
预测是错误的负样本 通常我们会做出这样的一个混淆矩阵: ? 左边的positive,negative表示样本真实值,表格上边的positive,negative表示样本的预测结果。...图中的TP,FP等是一个比例,假设总共有100个样本,有40个是TP,有20个是FP……(不过混淆矩阵一般不用除以总样本数量) 现在我们有了 准确率Accuracy 准确率是指,对于给定的测试数据集...,分类器正确分类的样本书与总样本数之比,也就是预测正确的概率。...精确率Precision 表示预测为正的样本中,实际的正样本的数量。 ? 对应上面的例子, 。 【个人理解】 Precision是针对预测结果而言的。预测结果中,预测为正的样本中预测正确的概率。...具体的说,统计出来各个类别的混淆矩阵,然后把混淆矩阵“相加”起来,得到一个多类别的混淆矩阵,然后再计算F1score 【Macro-F1】 我感觉更常用的是Macro-F1。
比如有这样一个在房子周围可能发现的动物类型的预测,这个预测的三类问题的混淆矩阵如下表所示: ? 一个三类问题的混淆矩阵 利用混淆矩阵可以充分理解分类中的错误了。...如果混淆矩阵中的非对角线元素均为0,就会得到一个近乎完美的分类器。 在接下来的讨论中,将以经典的二分类问题为例,对于多分类类比推断。 二分类问题在机器学习中是一个很常见的问题,经常会用到。...三、如何画ROC曲线 对于一个特定的分类器和测试数据集,显然只能得到一个分类结果,即一组FPR和TPR结果,而要得到一个曲线,我们实际上需要一系列FPR和TPR的值,这又是如何得到的呢?...假如我们已经得到了所有样本的概率输出(属于正样本的概率),现在的问题是如何改变“discrimination threashold”?我们根据每个测试样本属于正样本的概率值从大到小排序。...(a)和(b)展示的是分类其在原始测试集(正负样本分布平衡)的结果,(c)和(d)是将测试集中负样本的数量增加到原来的10倍后,分类器的结果。
逻辑回归概述:逻辑回归(Logistic Regression)是一种用于二分类问题的经典线性分类器,目标是通过训练数据集的特征来预测某一类别的概率。...解决方法:重采样:通过增加少数类样本或减少多数类样本来平衡数据集。加权损失函数:对模型在少数类样本上的误差给予更大的惩罚。集成方法:例如SMOTE与Boosting结合来提高少数类的预测能力。...目标是根据这些特征来预测鸢尾花的种类。...使用confusion_matrix计算混淆矩阵,进一步分析模型的分类效果。混淆矩阵可视化:使用Seaborn的heatmap函数将混淆矩阵可视化,更直观地展示分类效果。...评估结果分类报告如下:混淆矩阵如下:根据分类报告和混淆矩阵的结果,我们可以得出以下结论:完美的分类结果:模型的精确度、召回率和F1分数都为1.00,说明模型在每个类别上都没有错误预测,完美地分辨了三个不同种类的鸢尾花
预测是错误的负样本 通常我们会做出这样的一个混淆矩阵: ? 左边的positive,negative表示样本真实值,表格上边的positive,negative表示样本的预测结果。...图中的TP,FP等是一个比例,假设总共有100个样本,有40个是TP,有20个是FP……(不过混淆矩阵一般不用除以总样本数量) 现在我们有了 准确率Accuracy 准确率是指,对于给定的测试数据集,分类器正确分类的样本数与总样本数之比...,也就是预测正确的概率。...精确率Precision 表示预测为正的样本中,实际的正样本的数量。 ? 对应上面的例子,。 【个人理解】Precision是针对预测结果而言的。预测结果中,预测为正的样本中预测正确的概率。...具体的说,统计出来各个类别的混淆矩阵,然后把混淆矩阵“相加”起来,得到一个多类别的混淆矩阵,然后再计算F1score 【Macro-F1】我感觉更常用的是Macro-F1。
假设您的任务是训练ML模型,以将数据点分类为一定数量的预定义类。一旦完成分类模型的构建,下一个任务就是评估其性能。有许多指标可以帮助您根据用例进行操作。在此文章中,我们将尝试回答诸如何时使用?...以及如何实施? 混淆矩阵 混淆矩阵定义为(类x类)大小的矩阵,因此对于二进制分类,它是2x2,对于3类问题,它是3x3,依此类推。为简单起见,让我们考虑二元分类并了解矩阵的组成部分。 ?...另一方面,FPR是被错误分类的负面示例的比例。ROC图总结了每个阈值的分类器性能。因此,对于每个阈值,我们都有TPR和FPR的新混淆矩阵值,这些值最终成为ROC 2-D空间中的点。...Precision @ k Precision @ k是用于多标签分类设置的流行指标之一。在此之下,我们计算给定示例的前k个预测,然后计算出这k个预测中有多少个实际上是真实标签。...当您有一个模型输出概率时,该模型将使用该模型,该模型会根据预测与实际标签的偏差来考虑预测的不确定性。
A 准确率(accuracy) 分类模型预测准确的比例。在多类别分类中,准确率定义如下: ? 在二分类中,准确率定义为: ?...ROC 曲线下面积代表分类器随机预测真正类(Ture Positives)要比假正类(False Positives)概率大的确信度。...C 标定层(calibration layer) 一种调整后期预测的结构,通常用于解释预测偏差。调整后的预期和概率必须匹配一个观察标签集的分布。...混淆矩阵(confusion matrix) 总结分类模型的预测结果的表现水平(即,标签和模型分类的匹配程度)的 NxN 表格。混淆矩阵的一个轴列出模型预测的标签,另一个轴列出实际的标签。...类似的,在 458 个确实为非肿瘤的样本中,有 452 个被模型正确的归类(452 个真负类),有 6 个被错误的归类(6 个假正类)。 多类别分类的混淆矩阵可以帮助发现错误出现的模式。
对于一个分类任务的测试集,其本身有正负两类标签,我们对于这个测试集有一个预测标签,也是正负值。分类器开始对样本进行分类时,首先会计算该样本属于正确类别的概率,进而对样本的类别进行预测。...比如说给出一组图片,让分类器判断该图片是否为汉堡,分类器在开始分类前会首先计算该图片为汉堡的概率,进而对该图片的类别进行预测,是汉堡或者不是汉堡。...我们用概率来表示横坐标,真实类别表示纵坐标,分类器在测试集上的效果就可以用散点图来表示,如图所示 那么如何通过概率来获得预测的类别呢? 通常我们会设置一个阈值,这里以0.5为例。...当概率≥0.5时,分类器认为这张图片是汉堡,也就是图中虚线右边的部分,我们用橙色来表示; 当概率的部分,我们用薄荷绿来表示; 我们可以根据图中的预测结果得到一个混淆矩阵...AUC预测而行,就优于随机猜测,因此不存在 AUC的情况。 如过是多分类问题呢?如何计算AUC的值呢?
以相同的方式,如上所述,可以使用许多参数和新技术对机器学习模型进行广泛的训练,但是只要您跳过它的评估,就不能相信它。 混淆矩阵 混淆矩阵 是一个模型的预测和数据点的实际类别标签之间的相关性的矩阵。...准确性=正确的预测/总预测 通过使用混淆矩阵,精度=(TP + TN)/(TP + TN + FP + FN) 准确性是我们可以使用的最简单的性能指标之一。...有某些模型可以像Logistic回归那样给出每个数据点属于特定类的概率。让我们来考虑这种情况: ? 如您所见, 如果P(Y = 1)> 0.5,则预测为类1。...假设有一个非常简单的均值模型,无论输入数据如何,均能每次预测目标值的平均值。 现在我们将R²表示为: ?...摘要 因此,简而言之,您应该非常了解您的数据集和问题,然后您始终可以创建一个混淆矩阵,并检查其准确性,精度,召回率,并绘制ROC曲线,并根据需要找出AUC。
下面是一句话解释混淆矩阵: 混淆矩阵就是统计分类模型的分类结果,即:统计归对类,归错类的样本的个数,然后把结果放在一个表里展示出来,这个表就是混淆矩阵。...(参考链接) ---- 初步理解混淆矩阵,当以二分类混淆矩阵作为入门,多分类混淆矩阵都是以二分类为基础作为延伸的! Q: 什么是二分类?...) / 类别数 IoU:交并比 含义:模型对某一类别预测结果和真实值的交集与并集的比值 混淆矩阵计算: 以求二分类:正例(类别1)的IoU为例 交集:TP,并集:TP、FP、FN求和 IoU = TP.../ (TP + FP + FN) MIoU:平均交并比 含义:模型对每一类预测的结果和真实值的交集与并集的比值,求和再平均的结果 混淆矩阵计算: 以求二分类的MIoU为例 MIoU = (IoU正例...因为我们求的是正例(Positive)的IoU,即:只用与P有关的混淆矩阵相关元素:TP、FP、FN,TN是与P无关,所以对于求正例的IoU无用! 如何找与P有关的混淆矩阵元素?
比如有这样一个在房子周围可能发现的动物类型的预测,这个预测的三类问题的混淆矩阵如下表所示: ? 一个三类问题的混淆矩阵 利用混淆矩阵可以充分理解分类中的错误了。...如果混淆矩阵中的非对角线元素均为0,就会得到一个近乎完美的分类器。 在接下来的讨论中,将以经典的二分类问题为例,对于多分类类比推断。 二分类问题在机器学习中是一个很常见的问题,经常会用到。...3、如何画ROC曲线 对于一个特定的分类器和测试数据集,显然只能得到一个分类结果,即一组FPR和TPR结果,而要得到一个曲线,我们实际上需要一系列FPR和TPR的值,这又是如何得到的呢?...假如我们已经得到了所有样本的概率输出(属于正样本的概率),现在的问题是如何改变“discrimination threashold”?我们根据每个测试样本属于正样本的概率值从大到小排序。...(a)和(b)展示的是分类其在原始测试集(正负样本分布平衡)的结果,(c)和(d)是将测试集中负样本的数量增加到原来的10倍后,分类器的结果。
MNIST数据集:二分类问题 MNIST数据集是一组由美国高中生和人口调查局员工手写的70,000个数字的图片,每张图片上面有代表的数字标记。...本文是对MNIST数据集执行一个二分类的建模 关键词:随机梯度下降、二元分类、混淆矩阵、召回率、精度、性能评估 导入数据 在这里是将一份存放在本地的mat文件的数据导进来: In [1]: import...所以如果猜测一张图片是非0,大约90%的概率是正确的。...性能测量2-混淆矩阵 预测结果 评估分类器性能更好的方法是混淆矩阵,总体思路是统计A类别实例被划分成B类别的次数 混淆矩阵是通过预测值和真实目标值来进行比较的。...frac {TP}{TP+FN} 混淆矩阵显示的内容: 左上:真负 右上:假正 左下:假负 右下:真正 精度:正类预测的准确率 召回率(灵敏度或真正类率):分类器正确检测到正类实例的比例 计算精度和召回率
本小节主要介绍如何求解多分类问题中的指标,着重介绍多分类问题中的混淆矩阵,将混淆矩阵进行处理转换为error_matrix矩阵,并通过可视化的方式直观的观察分类算法错误分类的地方。...本小节来简单看一下如何利用前几个小节学习的指标来处理多分类问题,在前几个小节的二分类问题中介绍了一个非常重要的小工具混淆矩阵,由混淆矩阵推导出了很多重要的指标,因此最后着重介绍多分类问题中的混淆矩阵。...这一小节依然使用手写数字识别的数据集,不过由于本小节主要介绍多分类问题中的混淆矩阵,所以不再构造针对某一个类别的二分类数据集,使用手写数字识别中0-9的10个类别。...对于十分类的问题得到了一个(10 x 10)的混淆矩阵。对于这个(10 x 10)矩阵的解读方式和二分类问题中的(2 x 2)矩阵的解读方式是一模一样的。...不过关注算法预测正确的部分是没有意义的,我们真正需要找到的是那些算法预测错误的部分,所以我们需要适当的处理一下混淆矩阵。
混淆矩阵 介绍这些概念之前先来介绍一个概念:混淆矩阵(confusion matrix)。对于 k 元分类,其实它就是一个k x k的表格,用来记录分类器的预测结果。...对于常见的二元分类,它的混淆矩阵是 2x2 的。 假设要对 15 个人预测是否患病,使用 1 表示患病,使用 0 表示正常。...这四个值分别对应二元分类问题的混淆矩阵的四个位置。 小技巧:上面的这四个概念经常会被搞混淆(难道混淆矩阵的名称就是这么来的?),这里有个小方法帮你记住它。在医学上,一般认为阳性是患病,阴性是正常。...我们都知道,一般分类器预测每个样本时可以输出该样本属于正类(也就是1)的概率值,概率值的范围在 (0-1) 之间,一般阈值(threshold)为 0.5,也就是概率值大于等于 0.5 的认为是正类,否则是负类...AUC 的数值与每个预测概率的数值大小无关,在乎的是每个预测概率的排序。
领取专属 10元无门槛券
手把手带您无忧上云