预测模型小白入门:不平衡数据与处理方法

文摘   科学   2024-06-29 21:21   湖南  

为照顾广大零基础或弱基础的科研初学者,我们策划了小白系列推文,力求内容浅显易懂、实用、涉及面广,欢迎各位学习和推广。

一、不平衡数据概述
风险预测模型的目的与护理理念很是贴合,是近年来护理领域值得研究的热点之一,仅中华护理杂志这种国内顶级期刊最近几年就刊发了数十篇预测模型(如下图),因此强烈建议大家掌握或了解这种研究方法

如果你有一点预测模型的基础,可能会发现一种现象。适用于临床实际问题的预测模型,往往都是以分类变量作为结局指标的,不论是诊断还是预后,亦或是对危险因素的探索,二分类问题是最常见的。

分类变量为目标变量进行预测模型建模的,在机器学习领域被称为分类任务。此类任务有个经常被大家所忽视的点:类别的不平衡问题。在机器学习中,数据不平衡(Imbalanced Data)指的是在训练数据集中,不同类别的样本数量存在显著差异。例如,在二分类问题中,一个类别的样本数量远多于另一个类别。这种不平衡可能会导致模型偏向于多数类,从而降低对少数类的预测准确性。
来个简单的例子,我们知道预测模型(或者说基于机器学习的预测模型)中有个比较关键的指标叫做淆矩阵,类似于我们做的医学诊断试验,预测结果与真实结果的配对四格表,就是混淆矩阵了,如下图。

有了混淆矩阵,我们就可以算出一些以此为基础的预测模型评价指标了,其中有个指标叫做准确率,是预测对的个数/总数,即(a+d/(a+b+c+d
试想一下某个极端的场景:有一个数据集,它的阳性病例仅占1%,那么对于任何模型,在做预测时,只要全部将其判断为阴性,那么会得到一个99%的准确率。是不是很可怕?准确率非常高,但一点意义都没有!这就好比我们做一份考卷,全瞎猜但因为试卷设计不合理,全给我们蒙对了一样。因为,如果数据集有严重的不平衡问题,那么是必须要做点处理去缓解的,不然可能会得到一个失准的模型,那也就没有什么可推广性和实际价值了。举个实际例子,是笔者在知网上看到的。

这篇文献于今年1月发表在中华护理杂志上,但笔者纵观全文,研究选题是很有意义的,但从方法学层面来看,该研究似乎还有进步空间?

、几种判断方法

1. 查看类别分布:这是最简单直观的,即检查数据集中每个类别的样本数量,确定是否存在不平衡。
2. 计算基尼不纯度(Gini Impurity)或信息熵(Information Entropy):这些指标可以帮助评估数据的不平衡程度。
3. 混淆矩阵:通过混淆矩阵可以直观地看到模型对每个类别的预测准确性,包括真正例(TP)、假正例(FP)、真负例(TN)和假负例(FN)。
4. 评估指标:使用适合不平衡数据的评估指标,如精确度(Precision)、召回率(Recall)、F1分数(F1 Score)、ROC曲线和AUC值等。
三、几种常用的处理不平衡数据的方法

现有的不平衡数据处理方法主要包括两方面。①数据层次的方法:欠采样、过采样、混合采样。②算法层次的方法:代价敏感学习、人工数据合成法。主要有以下几种思路。

1. 重采样技术
①过采样少数类(Over-sampling the minority class):增加少数类的样本数量,使其与多数类平衡。
②欠采样多数类Under-sampling the majority class):减少多数类的样本数量,以减少其在训练过程中的主导作用。
2. 合成样本生成:常用的有SMOTE和ROSE等方法。
合成少数类过采样技术(Synthetic Minority Over-sampling Technique,SMOTE)可以生成新的少数类样本,而不是简单地复制现有样本,是笔者在文献内最常用见到的处理方法之一。
随机过采样技术(Random over sampling examples, ROSE)也是一种生成人工数据的方法,此方法通过扩大少数类与多数类的特征空间,创建一个人工数据样本,比 SMOTE 更为先进。新样本可从这两个类的条件核密度估计中得到,使用ROSE 生成的数据可以比 SMOTE 更好地估计原始数据。
3. 集成方法
应用集成学习技术,如随机森林或AdaBoost,这些方法可以通过结合多个模型的预测来提高对少数类的识别能力。
4. 成本(cost,也称代价)敏感学习:
为不同类别的误分类分配不同的成本,使得模型在训练过程中更加关注少数类。
5. 数据增强
对少数类的数据进行变换或增强,以生成更多的训练样本。
6. 重新定义阈值
调整分类阈值,以提高对少数类的识别率。
7. 使用适当的评估指标
选择能够反映模型对少数类识别能力的评估指标,如F1分数,而不是仅仅依赖准确率。
8. 特征选择
选择能够更好地区分不同类别的特征,可能有助于提高模型对少数类的识别能力。

总之,数据不平衡问题需要得到研究者们的重视,处理数据不平衡是一个复杂的问题,通常需要根据具体问题和数据集的特点来选择合适的方法。在实际应用中,可能需要尝试多种策略并进行调整以获得最佳效果。
由于笔者水平有限,难免有些遗漏或错误之处,因此本期内容仅供参考。

参考文献:

[1]聂志强.基于多中心队列构建与验证造影剂急性肾损伤的风险预测模型研究[D].华中科技大学,2022.DOI:10.27157/d.cnki.ghzku.2022.006428.

[2]李敏,卢学萍,邴魏魏,等.结肠镜检查患者低血糖发生风险预测模型的构建与评价[J].中华护理杂志,2024,59(01):64-70.

[3]赵军,《R语言医学数据分析实战》

封面来自参考文献2,本文仅供感兴趣者学习和分享使用,如有侵权,请联系我们删除,谢谢。

小提醒

由于微信推送机制的变化,建议大家将公众号标记为星标,如此才能及时收到我们的更新,同时也希望大家能帮忙点点赞和转发,你们的支持是我们前进的重要动力来源,谢谢!


此外,护理统计随笔平台的内容现在已经非常丰富,很多方面都有涉及到,如果你觉得你没有看到往期的相关文章,不妨打开公众号的菜单页,在各级目录中查找你想要的内容。


如果你在科研学习中遇到了疑问,恰好也想跟网友们交流,可以加入我们建立的“护理科研交流群”。这是一个完全自由、开放、没有套路的纯交流群。入群方式:私信发送关键词“加群”。

护理统计随笔
专注护理科研设计和统计分析。别人不会告诉你的干货,可以来这里找!
 最新文章