数据挖掘——模型的评价

数据挖掘------模型的评价

模型的评价

混淆矩阵

准确率= a + d a + b + c + d \frac{a+d}{a+b+c+d} a+b+c+da+d= T P + T N T P + T N + F P + F N \frac{TP+TN}{TP+TN+FP+FN} TP+TN+FP+FNTP+TN

其他度量

查全率VS查准率

  • 地震的预测:对于地震的预测,我们希望的是recall非常高,也就是说每次地震我们都希望预测出来。这个时候我们可以牺牲precision。情愿发出1000次警报,把10次地震都预测正确了,也不要预测100次,对了8次,漏了2次。
  • 嫌疑人定罪:基于不错怪一个好人的原则,对于嫌疑人的定罪我们希望是非常准确的(precision高),及时有时候放过了一些罪犯(recall低),但也是值得的。

F1 score : F 1 = 2 r p r + p F_1=\frac{2rp}{r+p} F1=r+p2rp

r表示召回率(recall),p表示精确率(precision)

ROC曲线

接收者操作特征曲线(ReceiverOperating Characteristic Curve,或者叫ROC曲线)是一种坐标图式的分析工具,用于

  • 选择最佳的分类模型、舍弃次佳的模型。
  • 在同一模型中设定最佳阈值。

给定一个二元分类模型和它的阈值,就能从所有样本的(阳性/阴性)真实值和预测值计算出一个 (X=FPR,Y=TPR)坐标点。

(FPR,TPR):

  • (0,0):任何分类都是阴性
  • (1,1):任何分类都是阳性
  • (0,1):理想分类

对角线:

  • 随机猜测结果
  • 对角线以下:预测结果与真实结果相反

ROC曲线下方面积:AUC

ideal:Area=1

Random guess:Area=0.5

如何构建ROC曲线

首先利用分类器计算每个数据记录的后验概率P(+|A)

将这些数据记录对应的P(+|A)从高到低排列:

  • 由低到高, 对于每个P(+|A)值(threshold,阈值),把对应的记录以及那些值高于或等于阈值指派为阳性类positive, 把那些值低于阈值指派为阴性类negative
  • 统计 TP,FP,TN,FN
  • 计算TPR=TP/(TP+FN)和FPR=FP/(FP+TN)

绘出诸点(FPR,TPR)并连接它们

模型过分拟合和拟合不足

分类模型的误差大致分为两种:

  • 训练误差:是在训练记录上误分类样本比例
  • 泛化误差:是模型在未知记录上的期望误差

一个好的分类模型不仅要能够很好的拟合训练数据,而且对未知样本也要能准确分类。

换句话说,一个好的分类模型必须具有低训练误差和低泛化误差。

当训练数据拟合太好的模型(较低训练误差 ),其泛化误差 可能比具有较高训练误差 的模型高,这种情况成为模型过分拟合

根据少量训练记录做出分类决策的模型也容易受过分拟合的影响。

由于训练数据缺乏具有代表性的样本,在没有多少训练记录的情况下,学习算法仍然细化模型就会产生过分拟合。

减少泛化误差

过分拟合的主要原因一直是个争辩的话题,但数据挖掘研究界普遍认为模型的复杂度对模型的过分拟合有影响。

如何确定正确的模型复杂度?理想的复杂度是能产生最低泛化误差的模型的复杂度。

奥卡姆剃刀定律:在解释一个现象或问题时,应当尽量简洁地使用最少的假设。

根据奥卡姆剃刀原则

  • 引入惩罚项,使较简单的模型比复杂的模型更可取
    • 引入正则项
    • 神经网络中,引入dropout机制


使用验证集

该方法中,不是用训练集估计泛化误差,而是把原始的训练数据集分为两个较小的子集,一个子集用于训练,而另一个称为验证集,用于估计泛化误差。

该方法为评估模型在未知样本上的性能提供了较好办法。

相关推荐
代码游侠2 分钟前
复习——线程(pthread)
linux·运维·开发语言·网络·学习·算法
qq_411262422 分钟前
基于 ESP32 的 AI 硬件方案设计思考
人工智能
MarkHD4 分钟前
智能体在车联网中的应用:第12天 Python科学计算双雄:掌握NumPy与Pandas,筑牢AI与自动驾驶数据基石
人工智能·python·numpy
Wnq100725 分钟前
解构中心化困境:工业控制SCADA的延时与可靠性症结及分布式边缘计算转型路径
人工智能·分布式·云计算·去中心化·边缘计算
霍格沃兹测试学院-小舟畅学5 分钟前
零基础用Cursor快速搭建网站:实测1小时完成
人工智能
凯子坚持 c6 分钟前
【TextIn大模型加速器 + 火山引擎】基于 TextIn 与火山引擎豆包大模型的智能文档解析工作流构建与实践
人工智能·火山引擎
papaofdoudou10 分钟前
基于QEMU 模拟intel-iommu的sva/svm demo环境搭建和验证
算法·机器学习·支持向量机
再__努力1点11 分钟前
【78】HOG+SVM行人检测实践指南:从算法原理到python实现
开发语言·人工智能·python·算法·机器学习·支持向量机·计算机视觉
做cv的小昊13 分钟前
【TJU】信息检索与分析课程笔记和练习(3)学术评价
大数据·人工智能·经验分享·笔记·学习·全文检索
scx2013100415 分钟前
20251214 字典树总结
算法·字典树