BigQuery ML中模型评估的决定系数R²是什么?含XGBoost负分情况
BigQuery ML中XGBoost模型的R²分数定义及负数成因
在统计学标准定义里,决定系数R²(R-squared)的取值范围为0到1,用于衡量模型对因变量变异的解释能力。但在BigQuery ML中使用BOOSTED_TREE_REGRESSOR(基于XGBoost)训练模型时,评估结果里的R²可能出现负数,这源于它的计算逻辑和常规定义的差异:
BigQuery ML中R²的计算方式
它采用未调整的R²公式,但不限制模型表现必须优于基准(仅用均值预测的模型):R² = 1 - (SS_res / SS_tot)其中:
SS_res:残差平方和,即模型预测值与实际值差值的平方总和SS_tot:总平方和,即实际值与所有样本均值差值的平方总和
当模型的预测效果比直接用均值预测还要差时,
SS_res会大于SS_tot,此时SS_res/SS_tot的结果大于1,最终计算出的R²就会为负数。这种设计是为了直观反映模型的糟糕表现,而非像常规统计场景那样只展示优于基准的结果。负R²的常见成因
出现负R²通常意味着模型表现异常糟糕,常见原因包括:- 训练样本量不足,模型无法学习到数据的有效规律
- 特征选择不合理,引入了无关或噪声特征
- XGBoost参数设置不当(如学习率过高、树深度不合理)
- 测试数据与训练数据的分布差异过大,导致模型泛化能力极差
内容的提问来源于stack exchange,提问作者Naoki Hyu
相关产品推荐
相关产品推荐

