目录

  • 1 自然语言处理概论
    • 1.1 绪论
    • 1.2 NLP基础实验
  • 2 分词
    • 2.1 分词
    • 2.2 中文自然语言处理
    • 2.3 机器学习复习
  • 3 机器学习与自然语言处理
    • 3.1 机器学习与自然语言处理基础
    • 3.2 分类评估方法
    • 3.3 线性回归
    • 3.4 逻辑回归
    • 3.5 SVM
    • 3.6 管道模型
  • 4 自然语言模型与词向量
    • 4.1 自然语言模型
    • 4.2 词向量
    • 4.3 word2vec实验课
  • 5 卷积神经网络与自然语言处理
    • 5.1 卷积神经网络
    • 5.2 pytorch模型训练流程
  • 6 循环神经网络
    • 6.1 循环神经网络
    • 6.2 NER
  • 7 知识点回顾
    • 7.1 知识点回顾
  • 8 第二次作业讲解
    • 8.1 第二次作业
  • 9 seq2seq与机器翻译
    • 9.1 seq2seq
  • 10 Attention与Transformer
    • 10.1 Attention与Transformer
  • 11 预训练模型
    • 11.1 迁移学习与预训练模型
分类评估方法




精确率与召回率

混淆矩阵
在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(用于多分类)

精确率(Precision)与召回率(Recall) 

我们实际有50个样例,50个负样例,然后经过分类器分类之后。50个正样例中有45个预测为正样例(预测准了),5个被预测成为了负样例。50个负样例中(预测错误),有40个被预测为了负样例(预测准了),10个被预测为了正样例(预测错误)。



作者:奔向算法的喵
链接:https://www.jianshu.com/p/2ad360edd219
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


分类评估报告api
sklearn.metrics.classification_report(y_true, y_pred, labels=[], target_names=None )

y_true:真实目标值 

y_pred:估计器预测目标值

labels:指定类别对应的数字 

target_names:目标类别名称 

return:每个类别精确率与召回率



假设这样一个情况,如果99个样本癌症,1个样本非癌症,不管怎样我全都预测正例(默认癌症为正例),准确率就为99%但是这样效果并不好,这就是样本不均衡下的评估问题

问题:如何衡量样本不均衡下的评估?


ROC曲线与AUC指标 

 TPRFPR

TPR = TP / (TP + FN)所有真实类别为1的样本中,预测类别为1的比例

FPR = FP / (FP + TN)所有真实类别为0的样本中,预测类别为1的比例

 ROC曲线

ROC曲线的横轴就是FPRate,纵轴就是TPRate,当二者相等时,表示的意义则是:对于不论真实类别是1还是0的 样本,分类器预测为1的概率是相等的,此时AUC0.5


AUC指标

AUC的概率意义是随机取一对正负样本,正样本得分大于负样本得分的概率
AUC的范围在[0, 1]之间,并且越接近1越好,越接近0.5属于乱猜AUC=1,完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存 在完美分类器。
0.5<AUC<1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。

AUC计算API

from sklearn.metrics import roc_auc_score sklearn.metrics.roc_auc_score(y_true, y_score)

计算ROC曲线面积,即AUCy_true:每个样本的真实类别,必须为0(反例),1(正例)标记y_score:预测得分,可以是正类的估计概率、置信值或者分类器方法的返回值

AUC只能用来评价二分类 

AUC非常适合评价样本不平衡中的分类器性能