news 2026/6/24 20:17:31

评估模型性能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
评估模型性能

文章目录

    • 一、评估模型性能
      • 1. 混淆矩阵示例
      • 2. 常用评估指标
    • 二、常见问题与解决
      • 1. 欠拟合(Underfitting)
      • 2. 过拟合(Overfitting)
      • 3. 正则化(Regularization)
      • 4. 数据标准化
      • 5. 交叉验证
      • 6. 类别不平衡处理

一、评估模型性能

在分类任务中,我们通常使用混淆矩阵及其衍生指标来评估模型表现。

1. 混淆矩阵示例

假设我们对15个人进行是否患病的预测(1=患病,0=正常),得到如下预测结果:

预测值11111000011101
真实值01101100101010

对应的混淆矩阵为:

预测值=1预测值=0
真实值=15 (TP)2 (FN)
真实值=04 (FP)4 (TN)

2. 常用评估指标

  • 准确率(Accuracy):正确分类的比例
    Accuracy = T P + T N T P + T N + F P + F N \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN}Accuracy=TP+TN+FP+FNTP+TN

  • 精确率(Precision):预测为正的样本中实际为正的比例
    Precision = T P T P + F P \text{Precision} = \frac{TP}{TP + FP}Precision=TP+FPTP

  • 召回率(Recall):实际为正的样本中被正确预测的比例
    Recall = T P T P + F N \text{Recall} = \frac{TP}{TP + FN}Recall=TP+FNTP

  • F1分数(F1-Score):精确率和召回率的调和平均
    F 1 = 2 ⋅ Precision ⋅ Recall Precision + Recall F_1 = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}}F1=2Precision+RecallPrecisionRecall

二、常见问题与解决

1. 欠拟合(Underfitting)

模型没有充分学习到数据特征,表现为在训练集和测试集上效果都不佳。通常由于模型过于简单或训练不足导致。

2. 过拟合(Overfitting)

模型在训练集上表现很好,但在测试集上表现下降。常见原因包括:

  1. 过度追求训练集上的低损失或高准确率
  2. 模型参数过于复杂(例如特征过多)

3. 正则化(Regularization)

为了防止过拟合,我们可以在损失函数中加入正则化项,约束模型参数的大小:

原始损失函数:
J ( θ ) = 1 2 ∑ i = 1 m ( y ( i ) − θ T X ( i ) ) 2 J(\theta) = \frac{1}{2} \sum_{i=1}^m (y^{(i)} - \theta^T X^{(i)})^2J(θ)=21i=1m(y(i)θTX(i))2

加入L2正则化后:
J ( θ ) = 1 2 ∑ i = 1 m ( y ( i ) − θ T X ( i ) ) 2 + 1 2 θ 2 J(\theta) = \frac{1}{2} \sum_{i=1}^m (y^{(i)} - \theta^T X^{(i)})^2 + \frac{1}{2} \theta^2J(θ)=21i=1m(y(i)θTX(i))2+21θ2

4. 数据标准化

为了提升模型收敛速度与稳定性,常对特征进行标准化:

  • 0~1标准化(离差标准化):
    y i = x i − min ⁡ 1 ≤ j ≤ n { x j } max ⁡ 1 ≤ j ≤ n { x j } − min ⁡ 1 ≤ j ≤ n { x j } y_i = \frac{x_i - \min_{1 \leq j \leq n} \{ x_j \}}{\max_{1 \leq j \leq n} \{ x_j \} - \min_{1 \leq j \leq n} \{ x_j \}}yi=max1jn{xj}min1jn{xj}ximin1jn{xj}
  • Z标准化
    y i = x i − x ‾ s y_i = \frac{x_i - \overline{x}}{s}yi=sxix

5. 交叉验证

为了更稳健地评估模型,常使用交叉验证方法,如K折交叉验证,将数据集分为K份,依次用其中一份作为测试集,其余作为训练集,最后取平均性能。

6. 类别不平衡处理

当正负样本比例悬殊时,可使用过采样技术,如SMOTE算法,通过合成少数类样本来平衡数据集。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 22:28:19

初步了解Next.js

Next.js是React的一个超集框架,为什么会有Next.js这个框架存在呢,因为它可以解决React的痛点,就是客户端渲染 Next.js的一大亮点就是支持多模式混合渲染,分别有四种模式,CSR,SSR,SSG&#xff0c…

作者头像 李华
网站建设 2026/6/20 15:28:17

使用cmake构建Cplusplus版运行时库-–-behaviac

原文 请首先到/language/zh/downloads/下载或克隆源码。 缺省的,我们使用cmake来生成对应平台的项目文件(sln或make文件等)。 但cmake不是必须的,也可以选择自己喜欢的方式创建自己的项目文件。比如,使用premake等来…

作者头像 李华
网站建设 2026/6/24 17:06:34

pytesseract 中英文 识别图片文字

要使用 pytesseract 识别图片文字,你需要先安装 Tesseract OCR引擎 和 Pillow库,然后通过几行 Python 代码导入库、加载图片,并调用 image_to_string() 函数进行识别,传入图片路径和指定语言 (如 ‘eng’ 或 ‘chi_sim’) 即可获得文本内容。 步骤 1: 安装 Tesseract OCR引…

作者头像 李华
网站建设 2026/6/25 0:23:13

20、文件搜索、压缩与归档操作指南

文件搜索、压缩与归档操作指南 1. 文件搜索技巧 在日常的文件管理中,我们常常需要搜索特定的文件。传统的方式可能会多次执行命令,效率较低。为了提高效率,我们可以采用以下两种方法。 1.1 利用 find 命令的新特性 将 find 命令结尾的分号 ; 替换为加号 + ,就能…

作者头像 李华
网站建设 2026/6/23 21:14:57

Flutter 2025:从架构革命到商业落地的终极指南

一、Flutter 2025:为什么它成为大厂的“降维打击”武器?2025 年,全球 Top 50 App 中 42% 使用 Flutter(Statista 数据)。从 TikTok 国际版到 Google Ads,Flutter 已从“实验性框架”进化为 企业级开发的首选…

作者头像 李华