使用一袋单词模型我计算每个文档的单词出现次数(这是来自委员会的帖子)并为每个帖子创建向量。例如:
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 =作者的年龄)。
在训练回归模型(线性回归,Logistic回归,...)后,我使用MAE(平均绝对误差) 将预测的年龄与真实年龄进行比较,得到了令人满意的结果。
但是我不太明白如何使用r²:
输入
我必须使用Predicted标签和真正的标签是否正确 (在我的情况下使用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-learnnsr²scorer显示-0.008
为什么这么糟糕?仅仅因为一个错误的预测?
Pearson r
此外,还有Pearson Correlation“r”: Pearson r平方是否等于r²?
答案 0 :(得分:0)
确定系数R²描述了由回归模型解释的因变量的方差比例。 MAE只给出了所有测试数据的平均误差。因此,它们是衡量模型性能的两种不同方法,因为每种方法都有自己的陷阱。
R平方并不表示回归模型是否足够。对于良好的模型,您可以使用较低的R平方值,对于不适合数据的模型,可以使用较高的R平方值。
另一个可疑的是,你的值低于0,因为通常输出介于0和1之间,具体取决于它的实现。
也许你可以自己实现这个功能,它很容易实现(例如wiki)
是的,您应该使用预测标签和实际测试数据。