在 Python 中使用 RMSE

Fariba Laiq 2023年1月30日
  1. Python 中均方根誤差的公式
  2. 在 Python 中使用 NumPy 計算 RMSE
  3. 在 Python 中使用 scikit-learn 庫計算 RMSE
在 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 是處理大資料、數字、陣列和數學函式的有用庫。

使用這個庫,當給定 actualpredicted 值作為輸入時,我們可以輕鬆計算 RMSE。我們將使用 NumPy 庫的內建函式來執行不同的數學運算,如平方、均值、差值和平方根。

在下面的例子中,我們將通過首先計算 actualpredicted 值之間的 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 函式。

我們將從這個模組匯入函式到我們的程式碼中,並從函式呼叫中傳遞 actualpredicted 值。該函式將返回 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
作者: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

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

相關文章 - Python Math