在统计学中,决定系数反映了因变量 y y y的波动有多少百分比能被自变量 x x x(特征)的波动所描述。简单来说,该参数可以用来判断统计模型对数据的拟合能力(说服力)
假设我们有m组观测数据
(
x
1
,
y
1
)
,
.
.
.
,
(
x
m
,
y
m
)
(x_1,y_1),...,(x_m,y_m)
(x1?,y1?),...,(xm?,ym?),在最小二乘法(传送门)一文中,我们已经知道了误差或回归残差(真实值-理论值)可定义为:
e
i
=
y
i
?
y
e_i=y_i-y
ei?=yi??y
那么,平均观察值可定义为:
y
 ̄
=
1
m
∑
i
=
1
m
y
i
\overline{y}=\frac{1}{m}\sum_{i=1}^my_i
y?=m1?i=1∑m?yi?
于是,总体残差平方和(Sum of Squares for Total,SST)为:
S
S
t
o
t
=
∑
i
=
1
m
(
y
i
?
y
 ̄
)
2
SS_{tot}=\sum_{i=1}^m(y_i-\overline{y})^2
SStot?=i=1∑m?(yi??y?)2
残差平方和或误差平方和(Residual Sum of Squares,RSS)为:
S
S
r
e
g
=
∑
i
=
1
m
(
y
i
?
y
)
2
SS_{reg}=\sum_{i=1}^m(y_i-y)^2
SSreg?=i=1∑m?(yi??y)2
用数学语言简单描述,决定系数R2就是回归平方和与总平方和之比:
R
2
=
1
?
S
S
r
e
g
S
S
t
o
t
=
1
?
∑
i
=
1
m
(
y
i
?
y
)
2
∑
i
=
1
m
(
y
i
?
y
 ̄
)
2
R^2=1-\frac{SS_{reg}}{SS_{tot}}=1-\frac{\sum_{i=1}^m(y_i-y)^2}{\sum_{i=1}^m(y_i-\overline{y})^2}
R2=1?SStot?SSreg??=1?∑i=1m?(yi??y?)2∑i=1m?(yi??y)2?
其中, y i y_i yi?是我们的真实标签, y y y是我们的预测结果, y  ̄ \overline{y} y?是我们的均值。在 R 2 R^2 R2中,分子是真实值与预测值的差值,也就是我们的模型没有捕获到的信息总量;分母是真实标签的总信息量,所以, R 2 R^2 R2衡量的是1减去我们的模型没有捕获到的信息量占真实标签总信息量的比例,因此, R 2 R^2 R2越接近1越好
在Scikit-learn中,回归模型的性能分数就是利用
R
2
R^2
R2对拟合效果打分的,具体的实现函数是score()
未完待续…
参考文章:
https://zhuanlan.zhihu.com/p/67706712
https://blog.csdn.net/qq_45797116/article/details/112437862