python之MSE、MAE、RMSE的使用
我就廢話不多說啦,直接上代碼吧!
target = [1.5, 2.1, 3.3, -4.7, -2.3, 0.75]
prediction = [0.5, 1.5, 2.1, -2.2, 0.1, -0.5]
error = []
for i in range(len(target)):
error.append(target[i] - prediction[i])
print("Errors: ", error)
print(error)
squaredError = []
absError = []
for val in error:
squaredError.append(val * val)#target-prediction之差平方
absError.append(abs(val))#誤差絕對值
print("Square Error: ", squaredError)
print("Absolute Value of Error: ", absError)
print("MSE = ", sum(squaredError) / len(squaredError))#均方誤差MSE
from math import sqrt
print("RMSE = ", sqrt(sum(squaredError) / len(squaredError)))#均方根誤差RMSE
print("MAE = ", sum(absError) / len(absError))#平均絕對誤差MAE
targetDeviation = []
targetMean = sum(target) / len(target)#target平均值
for val in target:
targetDeviation.append((val - targetMean) * (val - targetMean))
print("Target Variance = ", sum(targetDeviation) / len(targetDeviation))#方差
print("Target Standard Deviation = ", sqrt(sum(targetDeviation) / len(targetDeviation)))#標(biāo)準(zhǔn)差
補(bǔ)充拓展:回歸模型指標(biāo):MSE 、 RMSE、 MAE、R2
sklearn調(diào)用
# 測試集標(biāo)簽預(yù)測
y_predict = lin_reg.predict(X_test)
# 衡量線性回歸的MSE 、 RMSE、 MAE、r2
from math import sqrt
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error
from sklearn.metrics import r2_score
print("mean_absolute_error:", mean_absolute_error(y_test, y_predict))
print("mean_squared_error:", mean_squared_error(y_test, y_predict))
print("rmse:", sqrt(mean_squared_error(y_test, y_predict)))
print("r2 score:", r2_score(y_test, y_predict))
原生實(shí)現(xiàn)
# 測試集標(biāo)簽預(yù)測
y_predict = lin_reg.predict(X_test)
# 衡量線性回歸的MSE 、 RMSE、 MAE
mse = np.sum((y_test - y_predict) ** 2) / len(y_test)
rmse = sqrt(mse)
mae = np.sum(np.absolute(y_test - y_predict)) / len(y_test)
r2 = 1-mse/ np.var(y_test)
print("mse:",mse," rmse:",rmse," mae:",mae," r2:",r2)
相關(guān)公式
MSE

RMSE

MAE

R2

以上這篇python之MSE、MAE、RMSE的使用就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
配置python連接oracle讀取excel數(shù)據(jù)寫入數(shù)據(jù)庫的操作流程
這篇文章主要介紹了配置python連接oracle,讀取excel數(shù)據(jù)寫入數(shù)據(jù)庫,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
python中numpy基礎(chǔ)學(xué)習(xí)及進(jìn)行數(shù)組和矢量計(jì)算
這篇文章主要給大家介紹了python中numpy基礎(chǔ)知識,以及進(jìn)行數(shù)組和矢量計(jì)算的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-02-02
Python自動(dòng)修改電腦靜態(tài)IP地址的實(shí)現(xiàn)示例
通過Python自動(dòng)修改電腦的靜態(tài)IP地址可以極大地提高我們的工作效率,減少手動(dòng)修改IP地址帶來的錯(cuò)誤,本文就來介紹一下Python自動(dòng)修改電腦靜態(tài)IP地址的實(shí)現(xiàn)示例,感興趣的可以了解一下2023-11-11
python實(shí)現(xiàn)unicode轉(zhuǎn)中文及轉(zhuǎn)換默認(rèn)編碼的方法
這篇文章主要介紹了python實(shí)現(xiàn)unicode轉(zhuǎn)中文及轉(zhuǎn)換默認(rèn)編碼的方法,結(jié)合實(shí)例形式分析了Python針對Unicode編碼操作的相關(guān)技巧及編碼轉(zhuǎn)換中的常見問題解決方法,需要的朋友可以參考下2017-04-04
python實(shí)戰(zhàn)之Scrapy框架爬蟲爬取微博熱搜
前面講解了Scrapy中各個(gè)模塊基本使用方法以及代理池、Cookies池。接下來我們以一個(gè)反爬比較強(qiáng)的網(wǎng)站新浪微博為例,來實(shí)現(xiàn)一下Scrapy的大規(guī)模爬取。2021-09-09

