机器学习预测结果评价的score方法取值分类及决定系数R^2(Coefficient of Determination)的原理及推导

score方法的取值分类

Python机器学习sklearn里的score()方法,主要用于度量给定测试集的预测效果的好坏。

当y为连续变量时,score的取值为R2;当y为分类变量时,score的取值为准确率accuracy。

其中:

R2 =(1-u/v),
u=((y_true - y_pred) ** 2).sum(),
v=((y_true - y_true.mean()) ** 2).sum();

accuracy=分类算法正确的分类数/总分类数。

决定系数R2(Coefficient of Determination)的性质

决定系数(记为R2或r2),亦称测定系数、可决系数、可决指数。与复相关系数类似的,在统计学中用于度量因变量的变异中可由自变量解释部分所占的比例,以此来判断统计模型的解释力。

对于简单线性回归而言,判定系数为样本简单相关系数(记为R或r)的平方(简单相关系数又称皮尔逊相关系数或者线性相关系数)。当加入其他回归自变量后,决定系数相应地变为多重相关系数的平方。

R2的公式

R2 =(1-u/v),
u=((y_true - y_pred) ** 2).sum(),
v=((y_true - y_true.mean()) ** 2).sum()
或者:
R2=SSE/SST=1-SSR/SST

R2的原理

首先说明一下几个参数的定义:

离差

一个特定数值对于其平均值的偏离

变异

一变量的各数值对于其平均值的偏离,称为变异。通常用离差平方和来描述变异程度。

离差平方和

离差平方和又简称平方和(Sum of square)。

均方(Mean square)

平方和被相应的自由度去除,得到平均平方,简称为均方(Mean square)。

样本标准差

样本标准差就是被自由度(n-1)所平均x对于 x ‾ \overline{x} x的离差均方的算术平方根。
机器学习预测结果评价的score方法取值分类及决定系数R^2(Coefficient of Determination)的原理及推导_第1张图片

下面,看一下因变量y与自变量x在回归前提下y值的离差。
y值对其平均数 y ‾ \overline{y} y的离差可以看作是由两部分合成的,一是y的回归拟合值 y ^ \hat{y} y^对平均数 y ‾ \overline{y} y的离差,另一是y值对于拟合值 y ^ \hat{y} y^的离差。前者呈线性变化,在x= x ‾ \overline{x} x时, y ^ \hat{y} y^- y ‾ \overline{y} y=0,x取值越偏离 x ‾ \overline{x} x,这一离差就越大,存在着这样的函数关系:
在这里插入图片描述
这一离差完全是由y与x的回归关系决定的,因而称为已解释离差(Explained deviation)。后者呈随机变化,与y与x的回归关系无关,因而称为未解释离差(Unexplained deviation)。总离差与已解释离差、未解释离差的关系写成公式是:
在这里插入图片描述

机器学习预测结果评价的score方法取值分类及决定系数R^2(Coefficient of Determination)的原理及推导_第2张图片

回归前提下y的离差

总平方和SST

总离差的平方和,简称总平方和,用SST表示,又称作总变差(Total variation)。

回归平方和SSR

已解释离差的平方和,简称回归平方和,用SSR表示,又称作已解释变差(Explained variation)。

误差平方和SSE

未解释离差的平方和,简称误差平方和,用SSE表示,又称作未解释变差(Unexplained variation)。

可以证明,由总离差的分解公式能推出总变差的分解公式:

在这里插入图片描述
或:SST=SSR+SSE。
将上式两边都除以
在这里插入图片描述
得:已解释变差/总变量 +未解释变差/总变差=1,即:
机器学习预测结果评价的score方法取值分类及决定系数R^2(Coefficient of Determination)的原理及推导_第3张图片
即:SSR/SST+SSE/SST=1

结论

R2=SSE/SST=1-SSR/SST
R2越接近于1,模型的拟合优度越高。

你可能感兴趣的:(机器学习,统计,算法,机器学习,算法,统计基础)