本節內容是衡量線性迴歸算法的指標, 導圖以下: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
。
具體爲:
爲何說這個好呢?咱們能夠這麼想:
採用
進行預測叫作Baseline Model(基類模型),它與x無關,因此它的偏差確定是比較大的。從而,咱們能夠對指標作這樣的理解:
接下來咱們對R方的公式進行簡化:
接下來,咱們用代碼來實現一下R Square
:
而後,咱們調用sklearn
封裝的方法試一下:
能夠看到結果是同樣的~
OK,第二部分結束了,默默獎勵本身一顆糖果~~