结果表写着neg_mean_squared_error,数值却是负数,不能立刻解释为模型算出了负的平方误差。scikit-learn 1.5.2文档区分指标函数与评分器:评分器遵循返回值越大越好的约定,而mean_squared_error衡量的是误差,两者的比较方向不同。[1]
文档给出的处理是取相反数。名为neg_mean_squared_error的评分器返回MSE的负值,使较小误差对应较大的评分。原始MSE函数计算各样本预测值与真实值之差的平方,再取平均;在通常实数数据的这个定义下,平方与平均本身没有产生负数。评分上的负号属于接口约定。
可以用本文自拟的数字看比较方向:若两项可比结果的原始MSE分别为4和9,对应负向评分就是−4和−9。−4大于−9,与原始误差4小于9相对应。这只是符号关系的演示,本文没有训练模型、运行交叉验证或取得任何业务得分,也没有把这两个数字当成质量阈值。
因此,转述一列结果时应保留完整名称。“评分为−4”和“MSE为4”可以对应同一项取反关系,但如果删掉neg前缀,又把−4直接命名为MSE,就改变了字段含义。反过来,把所有模型指标一律取绝对值也不是这里的结论;不同指标有各自定义,不能凭看到负号就通用处理。
同页在make_scorer说明中解释,损失函数采用greater_is_better=False时,其输出会由评分器取反,以符合交叉验证的比较约定。这个参数说明的是包装后的评分方向,不意味着数据、预测结果或底层损失计算被重新定义。本文没有修改任何平台的评估设置。
结果之间是否可比,还需要相同的评价口径与数据条件;负号本身不能补齐这些信息。本文采用1.5.2文档的评分段落与MSE定义,不从其他版本或其他指标推断通用规则。给结果列保留指标原名、是否取反及比较方向,才能准确说明一个负数究竟代表什么。
信息来源
本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。