机器学习笔记 - 微型不平衡数据集的处理思路参考

本文探讨了在机器学习中遇到不平衡数据集时的挑战,并提出了解决方案,包括随机欠采样、过采样、应用类权重以及使用F1分数作为评估指标。重点强调在实际应用中,尤其是在工业缺陷检测等场景,如何应对数据不平衡问题,并给出了个人的经验总结,如特征扩充和模型调整以防止过拟合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简述

        训练机器学习模型或神经网络时,如果希望得到表现良好的模型,那么对于数据集的深入了解则至关重要。

        举一个例子:如果我们要在马和驴子之间进行分类,包含马匹的照片中有雪,而包含驴子的照片中没有雪。模型就很可能会学会根据雪的存在进行分类。这偏离了我们的预期。

        另外,如果数据集不平衡,很可能也难以训练出一个表现良好的模型。如果有两个类别,那么显而易见平衡的数据意味着每个类各占50%的数量。

        假设我们有一个数据集分两个类别,其中一个类别a有3000条数据,而另一个类别b只有300条数据。那么模型可能会学习以下行为:简单地将a作为预测的输出,因为这样输出准确率也非常高了。

        这种不平衡的数据集十分常见,比如在很多工业缺陷检测场景中,某些罕见的缺陷很难收集但又很重要,不平衡的数据集就产生了。为了解决问题然后拿到薪水,所以我们需要对于这种不平衡的数据集进行处理。

二、数据处理

        我们可以通过多种方式处理不平衡的数据集:

        随机欠采样:从原始数据集中抽取一个子集,确保每个类的数量相等,丢弃了许多大量的类样本。

import pandas as pd

# Read CSV
df = pd.read_csv('./dat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坐望云起

如果觉得有用,请不吝打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值