线性回归算法(二)

本节内容是衡量线性回归算法的指标, 导图以下:python

均方偏差MSE

有一个问题:这个衡量标准和m相关。 没法进行比较 所以,咱们能够很容易的进行改良咱们的衡量标准,让他们都除以m算法

均方根偏差RMSE

这个这个MSE还有一个问题,就是量纲不一样。数据集是用万元作单位的,可是MSE确实万元的平方,显然不一样量纲。这个原理跟为何有了标准差,还要有方差是同样的,都是为了统一量纲。spa

因此,咱们的解决方法跟方差和标准差是同样的,让MSE去开方,获得RMSE3d

平均绝对偏差MAE

另外还要一种很直白的方法,以下:code

RMSE vs MAE

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)
复制代码

分离后:

  • 第五步:调用回归算法进行预测

  • 第六步:算法衡量

R Squared

前面提到的几种评价标准,其实还存在一个问题,那就是,不是采用平时的分类准确度标准,也就是,0 表示最差,1表示最好,而后算法准确度的值在(0,1)之间,咱们能够很方便的比较两种算法的优劣。举个例子,算法一我用房子大小作特性,算法二我用房屋距市中心位置作特性,采用RMSE或者MAE计算后,没法衡量两个算法的优劣,由于一个是面积,一个是距离,不是同一个东西。

所以,咱们须要引入一个新的指标:R Squared

具体为:

为何说这个好呢?咱们能够这么想:

采用

进行预测叫作Baseline Model(基类模型),它与x无关,因此它的偏差确定是比较大的。

从而,咱们能够对指标作这样的理解:

接下来咱们对R方的公式进行简化:

接下来,咱们用代码来实现一下R Square

而后,咱们调用sklearn封装的方法试一下:

能够看到结果是同样的~


OK,第二部分结束了,默默奖励本身一颗糖果~~

相关文章
相关标签/搜索