最近做一個算法,直接算法中就計算了一個叫做RMSE的值,開始出來我以爲是準確率,類似於,clf.score,後來想想好像不對,所以就看來一些文章來研究了一下這些的含義。
預測值和真值相差的平方和是SSE,也就是誤差平方和,這肯定是越小越好了,相當於一個誤差累計。當然這個SSE越接近於0越好。
但是,如果說10000的樣本的情況,建立一個A模型,這個模型的SSE是100,100個樣本的情況下,建立一個B模型,這個模型的SSE是80。但是不能說B模型比A模型好。所以就引入了MSE。
MSE就是均方誤差,SSE除以樣本量,平均的預測的值和真值差的平方,平均到每一個預測的Y
MSE的值在量綱上是平方,爲了是這個量綱一致,所以對MSE開方就是RMSE,也就是均方根。
解釋R2之前要解釋一些SST和SSR
SSR表示的是預測值和原始值得均值差得平方和
SST表示得是原始數據和均值的差的平方和
所以R2,也就是R-square,可以經過公式推導得出SST=SSE+SSR
其實我們將R2寫開
還可以這樣表示。R2的範圍在0-1之間,越接近1,表示越好,一般衡量線性迴歸最好的指標應該就是R2,通常表示模型你好的好壞。對R2開根號,就是R,也就是相關係數,也是越近1越好。
上面計算真值和預測值之間的誤差都是做差求平方和,如果將平方和換成取絕對值,也就是MAE,RMAE,也就是不是square,變爲absolute.