本节内容是衡量线性回归算法的指标, 导图以下:python
有一个问题:这个衡量标准和m
相关。 没法进行比较 所以,咱们能够很容易的进行改良咱们的衡量标准,让他们都除以m
。算法
这个这个MSE还有一个问题,就是量纲不一样。数据集是用万元作单位的,可是MSE确实万元的平方,显然不一样量纲。这个原理跟为何有了标准差,还要有方差是同样的,都是为了统一量纲。spa
因此,咱们的解决方法跟方差和标准差是同样的,让MSE
去开方,获得RMSE
:3d
另外还要一种很直白的方法,以下:code
RMSE和MAE的量纲是同样的,都是数据中y对应的量纲。他们的区别以下:cdn
下面咱们用真实的波士顿房价数据进行练习一下。blog
第一步:导入数据- it
第二步:截取房间数量特征 io
第三步: 绘制散点图 class
第四步: 剔除干扰点
j
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(x,y,shuffle =666)
复制代码
分离后:
前面提到的几种评价标准,其实还存在一个问题,那就是,不是采用平时的分类准确度标准,也就是,0 表示最差,1表示最好,而后算法准确度的值在(0,1)之间,咱们能够很方便的比较两种算法的优劣。举个例子,算法一我用房子大小作特性,算法二我用房屋距市中心位置作特性,采用RMSE或者MAE计算后,没法衡量两个算法的优劣,由于一个是面积,一个是距离,不是同一个东西。
所以,咱们须要引入一个新的指标:R Squared
。
具体为:
为何说这个好呢?咱们能够这么想:
采用
从而,咱们能够对指标作这样的理解:
接下来咱们对R方的公式进行简化:
接下来,咱们用代码来实现一下R Square
:
而后,咱们调用sklearn
封装的方法试一下:
能够看到结果是同样的~
OK,第二部分结束了,默默奖励本身一颗糖果~~