使用 r² 评估回归模型



使用单词袋模型,我计算每个文档的单词出现次数(这些文档是来自公告板的帖子),并为每个帖子创建向量。示例:

X = [[0,0,0,1,0,3,0,0]
[0,0,1,0,0,0,1,0]
[1,0,1,0,2,0,0,0]]
y = [22,35,87]

在y中是X中每个向量的标签/目标(y=作者的年龄)。

在训练回归模型(线性回归、逻辑回归等)后,我使用MAE(平均绝对误差)它将预测的年龄与真实年龄进行了比较,得到了令人满意的结果。

然而,我不太明白如何使用r²:

输入

我必须使用预测标签和真实标签,这正确吗(在我的情况下,年龄在14-65岁之间)

r2_score(y_true, y_pred) 

这不是MAE的作用吗?

低r²

在这个例子中,预测是很好的:

y_predicted = [49, 30, 31, 46, 28, 30]
y_true =      [46, 28, 30, 49, 30, 57]

除一项预测外,所有预测都接近真实年龄。MAE是6.3年,但scikit了解到r²得分手显示-0.008

为什么这么糟糕?仅仅因为一个错误的预测?

皮尔逊r

此外,还有皮尔逊相关性"r":皮尔逊r平方等于r²吗?

决定系数R²描述了回归模型解释的因变量的方差比例。MAE只是给出了所有测试数据的平均误差。因此,它们是衡量模型性能的两种不同方法,因为每种方法都有自己的陷阱。

R平方并不表示回归模型是否足够。对于好的模型,可以使用低R平方值,对于不符合数据的模型,也可以使用高R平方值。

另一个可疑的问题是,您的值低于0,因为通常输出在0和1之间,这取决于它的实现。

也许你可以自己实现这个功能,这是一个非常简单的功能(例如wiki)

是的,您应该使用测试数据的预测标签和真实标签。

相关内容

  • 没有找到相关文章

最新更新