💖作者簡介:大家好,我是車神哥,府學路18號的車神🥇
?About—>車神:從寢室到實驗室最快3分鐘,最慢3分半(那半分鐘其實是等紅綠燈)
📝個人主頁:應無所住而生其心的博客_府學路18號車神_CSDN博客
🎉點贊?評論?收藏 == 養成習慣(一鍵三連)😋
📖本系列主要以學習Go語言打怪升級為標準,實作自我能力的提升為目標?
?希望大家多多支持🤗~一起加油 😁
專欄
《Golang · 過關斬將》
《Neural Network》
《LeetCode天梯》
《Algorithm》
《Python》
《web》
預測評價指標
- 背景
- 均方誤差(MSE)
- 均方根誤差(RMSE)
- 平均絕對誤差(MAE)
- 平均絕對百分比誤差(MAPE)
- 對稱平均絕對百分比誤差(SMAPE)
最近論文在寫關于極限學習機ELM的相關內容,在機器學習中有很重要的一點就是評級指標,這是判斷你的演算法性能很重要的、很有必要的一個評判標準,下面我們就一起來看看有哪些評價指標吧!~
背景
機器學習中,一般是對輸出值,具體也就是對預測值 Y ^ \hat Y Y^ 和真實值 Y Y Y 進行評價,利用以下的評價指標來表現預測和真實之間的差距,誤差越小說明效果越好,性能越好!~
這里我們假設:
Y
^
=
{
y
^
1
,
y
^
2
,
.
.
.
,
y
^
n
}
?
?
預
測
值
\hat{Y}=\{\hat{y}_1,\hat{y}_2,...,\hat{y}_n\}--預測值
Y^={y^?1?,y^?2?,...,y^?n?}??預測值
Y = { y 1 , y 2 , . . . , y n } ? ? 預 測 值 {Y}=\{{y}_1,{y}_2,...,{y}_n\}--預測值 Y={y1?,y2?,...,yn?}??預測值
均方誤差(MSE)
均方誤差(Mean Square Error,MSE),反映估計量與被估計量之間差異程度的一種度量,設t是根據子樣確定的總體引數θ的一個估計量,(θ-t)2的數學期望,稱為估計量t的均方誤差,它等于σ2+b2,其中σ2與b分別是t的方差與偏倚,
MSE計算公式:
M
S
E
=
1
n
∑
i
=
1
n
(
y
^
i
?
y
i
)
2
{MSE}=\frac{1}{n} \sum_{i=1}^{n}\left(\hat{y}_{i}-y_{i}\right)^{2}
MSE=n1?i=1∑n?(y^?i??yi?)2
解釋:
范圍[0,+∞),當預測值與真實值完全吻合時等于0,即完美模型;誤差越大,該值越大,
總而言之,值越小,機器學習網路模型越精確,相反,則越差,
均方根誤差(RMSE)
均方根誤差(Root Mean Square Error,RMSE),從名稱來看,我們都能猜得到是什么意思,多了一個根,這個“根”的意思顧名思義,就只是加了個根號,均方根誤差是預測值與真實值偏差的平方與觀測次數n比值的平方根,在實際測量中,觀測次數n總是有限的,真值只能用最可信賴(最佳)值來代替,

RMSE的計算公式:
R
M
S
E
=
1
n
∑
i
=
1
n
(
y
^
i
?
y
i
)
2
RMSE=\sqrt{\frac{1}{n} \sum_{i=1}^{n}\left(\hat{y}_{i}-y_{i}\right)^{2}}
RMSE=n1?i=1∑n?(y^?i??yi?)2
?
解釋:
它的計算方法是先平方、再平均、然后開方,均方根誤差是用來衡量觀測值同真值之間的偏差,和MSE同理,當我們的預測值和真實值之間的差距越小,模型精度越高;相反,則越低,
平均絕對誤差(MAE)
平均絕對誤差(Mean Absolute Error,MAE),絕對偏差平均值即平均偏差,指各次測量值的絕對偏差絕對值的平均值,平均絕對誤差可以避免誤差相互抵消的問題,因而可以準確反映實際預測誤差的大小,
MAE計算公式:
M
A
E
=
1
n
∑
i
=
1
n
∣
y
^
i
?
y
i
∣
M A E=\frac{1}{n} \sum_{i=1}^{n}\left|\hat{y}_{i}-y_{i}\right|
MAE=n1?i=1∑n?∣y^?i??yi?∣
解釋:
范圍[0,+∞),和MSE、RMSE類似,當預測值和真實值的差距越小,則模型越好;相反則越差,
平均絕對百分比誤差(MAPE)
平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE),平均絕對百分比誤差之所以可以描述準確度是因為平均絕對百分比誤差本身常用于衡量預測準確性的統計指標,如時間序列的預測,
計算公式:
M
A
P
E
=
100
%
n
∑
i
=
1
n
∣
y
^
i
?
y
i
y
i
∣
M A P E=\frac{100 \%}{n} \sum_{i=1}^{n}\left|\frac{\hat{y}_{i}-y_{i}}{y_{i}}\right|
MAPE=n100%?i=1∑n?∣∣∣∣?yi?y^?i??yi??∣∣∣∣?
解釋:
和上面的MAE相比,在預測值和真實值的差值下面分母多了一項,除以真實值,
范圍[0,+∞),MAPE 為0%表示完美模型,MAPE 大于 100 %則表示劣質模型,
需要注意的一點!!!
當真實值有資料等于0時,存在分母0除問題,該公式不可用!
對稱平均絕對百分比誤差(SMAPE)
對稱平均絕對百分比誤差(Symmetric Mean Absolute Percentage Error,SMAPE)
SMAPE計算公式為:
S
M
A
P
E
=
100
%
n
∑
i
=
1
n
∣
y
^
i
?
y
i
∣
(
∣
y
^
i
∣
+
∣
y
i
∣
)
/
2
S M A P E=\frac{100 \%}{n} \sum_{i=1}^{n} \frac{\left|\hat{y}_{i}-y_{i}\right|}{\left(\left|\hat{y}_{i}\right|+\left|y_{i}\right|\right) / 2}
SMAPE=n100%?i=1∑n?(∣y^?i?∣+∣yi?∣)/2∣y^?i??yi?∣?
解釋:
與MAPE相比,加了對稱,其實就是將分母變為了真實值和預測值的中值,和MAPE的用法一樣,范圍[0,+∞),MAPE 為0%表示完美模型,MAPE 大于 100 %則表示劣質模型,
同樣,值得注意的一點!!!
當真實值有資料等于0,而預測值也等于0時,存在分母0除問題,該公式不可用!
這里也給出一下Python代碼:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/12/21 15:05
# @Author : 府學路18號車神
# @Email :yurz_control@163.com
# @File : Evaluation_index.py
import numpy as np
from sklearn import metrics
# 將sklearn的也封裝一下吧
# MSE
def mse(y_true, y_pred):
res_mse = metrics.mean_squared_error(y_true, y_pred)
return res_mse
# RMSE
def rmse(y_true, y_pred):
res_rmse = np.sqrt(metrics.mean_squared_error(y_true, y_pred))
return res_rmse
# MAE
def mae(y_true, y_pred):
res_mae = metrics.mean_absolute_error(y_true, y_pred)
return res_mae
# sklearn的庫中沒有MAPE和SMAPE,下面根據公式給出演算法實作
# MAPE
def mape(y_true, y_pred):
res_mape = np.mean(np.abs((y_pred - y_true) / y_true)) * 100
return res_mape
# SMAPE
def smape(y_true, y_pred):
res_smape = 2.0 * np.mean(np.abs(y_pred - y_true) / (np.abs(y_pred) + np.abs(y_true))) * 100
return res_smape
# main
if __name__=='__main__':
# 由于沒有用模型,這里就隨機出幾個值來測驗下吧
y_true = np.random.random(10)
print(y_true)
y_pred = np.random.random(10)
print(y_pred)
# MSE
print(mse(y_true, y_pred))
# RMSE
print(rmse(y_true, y_pred))
# MAE
print(mae(y_true, y_pred))
# MAPE
print(mape(y_true, y_pred)) # 得到的值直接看成百分比即可
# SMAPE
print(smape(y_true, y_pred)) # 得到的值直接看成百分比即可
???????????????????????????????????????????????
???????????????????????????????????????????????
?堅持讀Paper,堅持做筆記,堅持學習,堅持刷力扣LeetCode?!!!
堅持刷題!!!打天梯!!!
?To Be No.1??哈哈哈哈
?創作不易?,過路能?關注、收藏、點個贊?三連就最好不過了
?( ′・?・` )
?
『
只是相談就會開心起來,沉浸在溫柔的眼神當中,竭盡全力的思念,悄悄地奉獻,
』
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/389055.html
標籤:AI
