混淆矩阵
精准率/查准率,presicion 预测为正的样本中实际为正的概率
召回率/查全率,recall 实际为正的样本中被预测为正的概率 TPR
F1分数,同时考虑查准率和查全率,二者达到平衡,=2*查准率*查全率/(查准率+查全率)
真正率 = 灵敏度 sensitivity 召回率 TP/TP+FN ,只关注正样本中有多少被准确预测
假正率 = 1- 特异度 = FP/(FP+TN),有多少负样本被错误预测
 
在正负样本足够的情况下,可以用ROC曲线、AUC、KS评价模型区分能力和排序能力,在确定阈值后,可以根据精准率、召回率、F1评价模型效果
KS反映模型的最优区分效果,定义为好坏的最优阈值。
 
 
 
AUC是评估模型排序能力的指标,logloss是评估准确度的指标,用来排序的依据是概率值
auc值是一个概率值,意味着正样本排在负样本前面的概率
 
roc,auc,ks评估模型,这几个指标对于比例失衡的数据 是相对比较客观的评估指标。
  • roc 曲线
横坐标是假正率,纵坐标是真正率.roc曲线尽可能的靠近左上边(0,1)的位置,效果越好
(0,0):真正率和假正率都是0,所有样本全部预测为负样本
(1,1):真正率和假正率都是1,所有样本全部预测为正样本
(0,1):真正率为1,假正率为0,正样本全部预测正确,负样本全部预测正确最完美的
情况
(1,0):真正率为0,假正率为1,正样本全部预测错误,负样本全部预测正确
confusion matrix
roc_curve
  • AUC曲线
ROC曲线下的面积,常介于0.5和1之间(极端情况下低于0.5),可以直观的评价分类器的好
坏,值越大越好。
AUC值是一个概率值,当你随机挑选一个坏样本以及好样本,当前的分类算法根据计算得
到的概率值将这个
坏样本排在好样本前面的概率就是AUC值,AUC值越大,当前分类算法越有可能将坏样本
排在好样本前面,从而能够更好地分类。
AUC的常用阈值 >0.7;有很强的区分度 0.6~0.7;有一定的区分度 0.5~0.6,有较弱的区分度;
低于0.5,区分度弱于随机猜测
  • KS曲线
ks值大于0.3说明模型的区分里比较好,ks值大于0.2模型可用,但是区分力较差;ks值小 于0.2大于0,模型的区分力差不可用; 如果ks值为负数,说明评分与好坏程度相悖,模型出现错误。ks指标的缺点是:只能表示 区分度最好的分数的区分度,不能衡量其他分数。
 

召回率、AUC、ROC模型评估指标精要的更多相关文章

  1. 混淆矩阵、准确率、召回率、ROC曲线、AUC

    混淆矩阵.准确率.召回率.ROC曲线.AUC 假设有一个用来对猫(cats).狗(dogs).兔子(rabbits)进行分类的系统,混淆矩阵就是为了进一步分析性能而对该算法测试结果做出的总结.假设总共 ...

  2. [机器学习] 性能评估指标(精确率、召回率、ROC、AUC)

    混淆矩阵 介绍这些概念之前先来介绍一个概念:混淆矩阵(confusion matrix).对于 k 元分类,其实它就是一个k x k的表格,用来记录分类器的预测结果.对于常见的二元分类,它的混淆矩阵是 ...

  3. 【机器学习】--模型评估指标之混淆矩阵,ROC曲线和AUC面积

    一.前述 怎么样对训练出来的模型进行评估是有一定指标的,本文就相关指标做一个总结. 二.具体 1.混淆矩阵 混淆矩阵如图:  第一个参数true,false是指预测的正确性.  第二个参数true,p ...

  4. 基于sklearn的metrics库的常用有监督模型评估指标学习

    一.分类评估指标 准确率(最直白的指标)缺点:受采样影响极大,比如100个样本中有99个为正例,所以即使模型很无脑地预测全部样本为正例,依然有99%的正确率适用范围:二分类(准确率):二分类.多分类( ...

  5. 精确率与召回率,RoC曲线与PR曲线

    在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢? 首先,我们需要搞清楚几个拗口 ...

  6. 【Model Log】模型评估指标可视化,自动画Loss、Accuracy曲线图工具,无需人工参与!

    1. Model Log 介绍 Model Log 是一款基于 Python3 的轻量级机器学习(Machine Learning).深度学习(Deep Learning)模型训练评估指标可视化工具, ...

  7. 机器学习性能评估指标(精确率、召回率、ROC、AUC)

    http://blog.csdn.net/u012089317/article/details/52156514 ,y^)=1nsamples∑i=1nsamples(yi−y^i)2

  8. Python机器学习笔记:常用评估指标的用法

    在机器学习中,性能指标(Metrics)是衡量一个模型好坏的关键,通过衡量模型输出y_predict和y_true之间的某种“距离”得出的. 对学习器的泛化性能进行评估,不仅需要有效可行的试验估计方法 ...

  9. Spark ML机器学习库评估指标示例

    本文主要对 Spark ML库下模型评估指标的讲解,以下代码均以Jupyter Notebook进行讲解,Spark版本为2.4.5.模型评估指标位于包org.apache.spark.ml.eval ...

随机推荐

  1. c# DataTable第二行改为各列标题字段

    DataTable dt = ExcelHelper.ToDataTable(fileinfo.FilePath); //将datatable的第二行变为列标题字段 DataTable dt2 = n ...

  2. 2019-8-28-WPF-开发

    title author date CreateTime categories WPF 开发 lindexi 2019-8-28 11:3:39 +0800 2018-2-13 17:23:3 +08 ...

  3. ubuntu14.04 配置android studio环境

    二.复制所需的文件到ubuntu 2.1.如果你还没有linux版本的android studio.sdk.jdk请先下载所需文件,我已经上传到百度网盘了 下载地址: android studio-l ...

  4. Python内部变量与外部变量

    def outer(): x = 'outer x' def inner(): x = 'inner x' print(x) inner() print(x) # 这里的`x`与`x = 'outer ...

  5. Hive速览

    一.概述 Hive由Facebook开源,是一个构建在Hadoop之上的数据仓库工具 将结构化的数据映射成表 支持类SQL查询,Hive中称为HQL 1.读模式 2.Hive架构 3.使用Hive的原 ...

  6. Java 基础 - 如何理解String不可变

    ref: https://www.zhihu.com/question/20618891 第一个答案. 扩展“ Java 基础 - System.arraycopy() 浅拷贝 深拷贝

  7. php随机生成数字加字母的字符串

    function getRandomString($len, $chars=null) { if (is_null($chars)) { $chars = "ABCDEFGHIJKLMNOP ...

  8. Java分支结构

    Java 分支结构 - if...else/switch 顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构. Java有两种分支结构: if语句 switch语句 if语句 一个if语句包含 ...

  9. sql update语句

    如果要更新数据库表中的记录,我们就必须使用UPDATE语句. UPDATE语句的基本语法是: UPDATE <表名> SET 字段1=值1, 字段2=值2, ... WHERE ...; ...

  10. Elasticsearch之index_closed_exception

    索引的打开与关闭 关闭索引 POST /index_name/_close 尝试插入数据 PUT /shakespeare/_doc/ { "title":"kibana ...