关于提升机器学习算法做预测回归任务精度的方法分享

发布时间:2026/7/23 13:24:32
关于提升机器学习算法做预测回归任务精度的方法分享 关于提升机器学习算法做预测回归任务精度的方法分享1. 问题的来源​ 目前做过一些小数据集100-1000的预测任务经常会出现一个问题拿到数据后写完模型代码然后运行测试发现R2很低MAE之类的指标也很高。​ 这个时候会发现单纯调整模型参数并不能提高模型精度。​ 而这个问题就是今天想要探讨的问题。2. 方法分享​ 这里仅分享我自己目前能够想到的方法如果大家还有其他方法欢迎补充在评论区让后来的人可以少走一些弯路。​ 我觉得这个问题出现的根本原因在于数据集。现在很认可一句话做这种机器学习的工作80%的时间都在处理数据20%的时间在调参和写代码。​ 比如我现在有一个700条的数据集但是只有5个特征其中一个还是目标变量。这个时候即使数据量看着还不错但4个特征所包含的信息有限模型训练后的泛化能力大概率很弱除非你的数据隐含的关系非常简单不然大概率R2都非常低。​ 意识到“模型本质学的是数据的信息”当你数据包含的信息越多的时候模型自然能够学习到的东西也越多最终的泛化能力自然也就越高。​ 因此提高精度的本质是提高数据信息量体现在具体方法有如下新增物理特征纯数学特征可能效果不好或者存在天花板。可以引入一些更具有物理意义的复合特征。本质上来说是增加信息含量因为单纯的数字可能包含的信息有限因此需要人为增加信息量。去除某些杂糅信息特征有的时候并不是越多信息越好有的信息如果本身是噪声与没有意义的特征可以抛去尝试看看效果如何如果没有提升或者减弱了再加上即可。构建新的目标变量有的时候原本的目标变量可能区分度不够或者其他原因可以构建出新的目标变量更具辨识度比如对数化处理注意训练前对数化预测的时候要将预测输出的还原然后进行模型的评估聚类公共数据点把一些具有类似特征的数据聚类在一块相当于新增了数据列具有更多信息和辨识度明确上限与优先性如果特征数很少、数据量小有的时候的确预测效果存在一定上限难以准确预测如果存在多个数据集的时候数据集的数据大小由少变多优先调整数据大的明确最优结果才能去评价其他相对更差的结果。删除数据异常点如果目标变量具有物理意义比如输入的是总重量预测的是长途过程中损失后的最终重量如果目标变量即最终重量比总重量还大或者小特别多可以标记为异常数据而去掉。当然是否去掉还是要根据业务场景来判断。3. 补充​ 关于派生特征的构造任务是有领域的有的时候可以根据领域知识进行构建比如将某两个特征相加或者相除得到总的量或者比例之类的特征听从AI的建议AI的知识库很丰富常见的简单新特征构建它基本都可以给出建议​根据我自己的尝试新增特征是最有用的手段了如改变目标变量等方法效果不是确定偶尔能提升偶尔也会变差。