sklearn分类器性能指标
分类器性能评估指标
只限于二元单元标签分类问题
可用于二元多标签分类问题的评估指标
如何将二元分类指标扩展到多类或多标签问题中去
可用于多类分类问题的评估指标(紫色的可用于多标签问题)
accuracy_score准确率
函数计算分类准确率:返回被准确分类的样本比例或者数量,
在多标签分类任务中,该函数返回自己的准确率。对于一个给定的多标签样本,如果预测得到的标签集合与该样本真正的标签集合严格吻合,则subset accuracy=1.0,否则就是0对于第i个样本,其真正的类标签就是yi而分类器预测的类标签是总共有n sample个样本
混淆矩阵
在机器学习尤其是统计分类中,混淆矩阵也被称为错误矩阵,是一个特别的表示,用来可视化(监督)学习算法的性能。无监督学习中,通常被称为匹配矩阵
矩阵的每一列表达了分类器对样本的类别预测,而矩阵的每一行则表达了样本所属真是类别
table of confusion
在预测分析中,table of confusion,是一个两行两列表,这个表报告了四个预测相关事件发生数量,false positivies,false negativies, true positivies,true negativies。这个表可以让我们更详细的分析预测系统性能,而不是仅仅用一个准确率
Accuracy 是一个不可分靠的分类器性能度量标准。因为当数据集中不同类别的样本数量分布不平衡时候,它将会产生误导人结果
比如说,如果数据集中95个猫5个狗,分类器简单偏向所有样本分为猫,这样总体准确率为95%,但实际猫的准确率为95%,狗准确率为0
sklearn中相关函数
关于precision和accuracy的区别
简单来说,给定一组测量点构成的集合
说这个测量集合是精确的,(precision)也就是说所有测量点到测量点集合的均值非常近:与测量点的方差有关
说这个测量点是准确的,(accuracy)也就是说所有测量点到真实值非常近。与测量点的偏差有关。
这两个概念是相互独立的,因此测量数据点集合可以是accurate,也可以是precise,可以都不是,也可以都会
二元分类问题
多类多标签分类问题
classification report
classification_report函数建立一个文本报告来展示分类器的主要指标
ROC是什么
在统计学中,ROC曲线是一个graphical plot展示了当discrimination threshold变化的时候二元分类器性能
ROC曲线描述了在各种不同阈值下真正率TPR相对于假正率FPR的取值变化情况,在机器学习中,TPR也被称为灵敏度,召回率,检出率。而FPR被称为虚警率 而且FPR=1-specifity
因此ROC曲线就是。一般来说,如果检出概率分布和虚警概率分布已知的话,ROC曲线上的每一个点可以这样计算出来:Y轴检出率累积概率分布相对于x轴虚警率累积分布
ROC space
ROC曲线绘制
损失函数
当学习器的模型选定以后,假定空间类型也基本确定。接下来就是在假设空间中搜索,选择最优的假设,也就是最优的模型参数
损失函数和代价函数:
损失函数的一般形式:
风险函数:
度量平均意义上模型预测结果的好坏
风险函数或期望损失如下计算:
学习的目标就是是的期望损失最小化,由于P(X,Y)是未知的,所以Rexp(f)不能直接计算
给定训练数据集:
模型f(x)关于训练集的平均损失称为经验风险或经验损失
根据大数定律,当样本量N趋于无穷时,经验风险将收敛到期望风险。所以我们可以用经验风险来估计期望风险。此时,最小化期望风险就等价于最小经验风险
sklear分类器常用损失函数
sklearn回归器性能评估方法