在 Python 中使用 RMSE
RMS(均方根 root mean square
),也稱為二次平均,是一系列數字平方的算術平均值的平方根。
RMSE
(均方根誤差
)為我們提供了實際結果與模型計算結果之間的差異。它定義了我們的模型(使用定量資料)的質量,我們的模型預測的準確度,或者我們模型中的錯誤百分比。
RMSE
是評估監督機器學習模型的方法之一。RMSE
越大,我們的模型就越不準確,反之亦然。
使用 NumPy
庫或 scikit-learn
庫有多種方法可以在 Python 中找到 RMSE
。
Python 中均方根誤差的公式
計算 RMSE
背後的邏輯是通過以下公式:
$$
RMSE=\sqrt{\sum_{i=1}^n {(predicted_{i}-actual_{i})}^2}
$$
在 Python 中使用 NumPy
計算 RMSE
NumPy
是處理大資料、數字、陣列和數學函式的有用庫。
使用這個庫,當給定 actual
和 predicted
值作為輸入時,我們可以輕鬆計算 RMSE
。我們將使用 NumPy
庫的內建函式來執行不同的數學運算,如平方、均值、差值和平方根。
在下面的例子中,我們將通過首先計算 actual
和 predicted
值之間的 difference
來計算 RMSE
。我們計算該差異的平方
,然後取平均值
。
直到這一步,我們將獲得 MSE
。為了得到 RMSE
,我們將取 MSE
的平方根
。
示例程式碼:
#python 3.x
import numpy as np
actual = [1,2,5,2,7, 5]
predicted = [1,4,2,9,8,6]
diff=np.subtract(actual,predicted)
square=np.square(diff)
MSE=square.mean()
RMSE=np.sqrt(MSE)
print("Root Mean Square Error:", RMSE)
輸出:
#python 3.x
Root Mean Square Error: 3.265986323710904
在 Python 中使用 scikit-learn
庫計算 RMSE
在 Python 中計算 RMSE
的另一種方法是使用 scikit-learn
庫。
scikit-learn
對機器學習很有用。該庫包含一個名為 sklearn.metrics
的模組,其中包含內建的 mean_square_error
函式。
我們將從這個模組匯入函式到我們的程式碼中,並從函式呼叫中傳遞 actual
和 predicted
值。該函式將返回 MSE
。為了計算 RMSE
,我們將取 MSE
的平方根。
示例程式碼:
#python 3.x
from sklearn.metrics import mean_squared_error
import math
actual = [1,2,5,2,7, 5]
predicted = [1,4,2,9,8,6]
MSE = mean_squared_error(actual, predicted)
RMSE = math.sqrt(MSE)
print("Root Mean Square Error:",RMSE)
輸出:
#python 3.x
Root Mean Square Error: 3.265986323710904
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn