線性迴歸算法(二)

本節內容是衡量線性迴歸算法的指標, 導圖以下: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,第二部分結束了,默默獎勵本身一顆糖果~~

相關文章
相關標籤/搜索