You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于tidymodels建模的实际值vs预测值图异常原因问询

实际值vs预测值图异常原因解读

异常形态的核心含义

从你提供的图像来看,所有测试样本的预测值高度集中在一个极窄的区间,而实际值的分布范围却很宽。这说明你的所有模型都退化成了常数预测器——它们没有学到任何能区分样本的有效模式,只是在输出训练集目标变量(log_shares)的均值(或中位数)。

为什么所有模型/配方都出现这个问题?

这种跨模型、跨配方的一致异常,不是单一模型的调参或拟合问题,核心原因大概率是以下两类:

  • 特征与目标变量几乎无关联:
    不管是全变量配方还是EDA筛选后的配方,所有输入特征和log_shares的相关性都极低,模型无法从数据中学习到任何能预测目标的信号,只能退而求其次输出最“安全”的常数预测值。
  • 目标变量的分布特性导致模型学习失效:
    如果原始shares是极端偏态分布(比如绝大多数样本的分享数极低,仅有极少数样本分享数极高),即使取对数后,log_shares仍可能大量聚集在某一区间。这种情况下,模型预测均值就能获得相对较低的RMSE,自然会放弃学习复杂模式。

排查方向

  1. 验证目标变量分布:
    绘制训练集log_shares的直方图,看是否存在极端聚集;计算训练集log_shares的均值,对比图中预测值的集中值是否一致——如果完全吻合,就坐实了模型在输出均值。
  2. 检查特征与目标的相关性:
    对数值特征,用cor()计算与log_shares的皮尔逊相关系数;对分类特征,用卡方检验看是否和目标有显著关联。如果所有特征的相关性都接近0,那就是特征本身无预测价值。
  3. 检查交叉验证结果:
    用collect_metrics()查看交叉验证过程中的RMSE值,如果所有fold的RMSE都很高且差异极小,说明模型在训练阶段就没有学到有效信息。
  4. 验证配方处理后的数据:
    执行prep(all_recipe) %>% bake(new_data = pop_train),查看处理后的特征是否合理——有没有出现全部为同一值、或方差接近0的无效特征。

内容的提问来源于stack exchange,提问作者nth1824

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 04:17:17