Ez az oktatóanyag megismeri az RSME-t (Root Mean Square Error) és annak Pythonban való megvalósítását. Kezdjük a rövid bevezetővel.
Bevezetés
Az RSME (Root mean square error) a modell által előre jelzett értékek és a tényleges értékek közötti transzformációt számítja ki. Más szóval, ez az egyik ilyen hiba a regressziós probléma bármely gépi tanulási algoritmusának pontosságának és hibaarányának mérési technikájában.
A hibametrika lehetővé teszi a különböző mátrixok hatékonyságának és pontosságának nyomon követését. Ezeket a mátrixokat az alábbiakban adjuk meg.
- Mean Square Error (MSE)
- Root Mean Square Error (RSME)
- R-négyzet
- Pontosság
- MAPE stb.
Mean Square Error (MSE)
Az MSE egy kockázati módszer, amely megkönnyíti egy jellemző vagy változó előrejelzett és tényleges értéke közötti átlagos négyzetes különbség jelzését. Kiszámítása az alábbi módszerrel történik. A szintaxis alább látható.
Szintaxis -
sklearn.metrics.mean_squared_error(y_true, y_pred, *, sample_weight=None, multioutput='uniform_average', squared=True)
Paraméterek -
Visszatér -
Nem negatív lebegőpontos értéket ad vissza (a legjobb érték 0,0) vagy lebegőpontos értékek tömbjét, minden egyes célhoz egyet.
Értsük meg a következő példát.
Példa - 1
import math import sklearn.metrics actual = [0, 1, 2, 0, 3] predicted = [0.2, 2.3, 4.5, 0.5, 1.1] mse = sklearn.metrics.mean_squared_error(actual, predicted) rmse = math.sqrt(mse) print('The difference between actual and predicted values', rmse)
Kimenet:
The difference between actual and predicted values: 1.5388307249337076
Példa - 2:
from sklearn.metrics import mean_squared_error # Given values Y_act = [1,4,3,2,6] # Y_true = Y (original values) # calculated values Y_pred = [0.6,1.29,1.99,2.69,3.4] # Y_pred = Y' # Calculation of Mean Squared Error (MSE) mean_squared_error(Y_act,Y_pred)
Kimenet:
3.15206
Root Mean Square Error (RMSE)
Az RMSE az átlagos négyzetes hibafüggvényből kapott érték négyzetgyöke. Segít megrajzolni a különbséget a modell egy paraméterének becsült és tényleges értéke között.
Az RSME segítségével könnyen mérhetjük a modell hatékonyságát.
Egy jól működő algoritmus akkor ismert, ha az RSME pontszáma 180-nál kisebb. Mindenesetre, ha az RSME értéke meghaladja a 180-at, akkor jellemzőválasztást és hiperparaméter-hangolást kell alkalmaznunk a modellparaméteren.
Root Mean Square Error NumPy modullal
Az RSME a változó/jellemző előrejelzett és tényleges értéke közötti átlagos négyzetes különbség négyzetgyöke. Lássuk a következő képletet.
Bontsuk fel a fenti képletet -
Az RSME-t a Numpy modul funkcióival fogjuk megvalósítani. Értsük meg a következő példát.
Megjegyzés - Ha a rendszerében nincsenek numpy és sklearn könyvtárak, az alábbi parancsok segítségével telepítheti.
pip install numpy pip install sklearn
Példa -
import math import numpy as np actual = [1,3,6,4,2] predicted = [2.6,1.5,3.9,7,4.1] MSE = np.square(np.subtract(actual,predicted)).mean() rsme = math.sqrt(MSE) print('Root Mean Square Error: ') print(rsme)
Kimenet:
Root Mean Square Error: 2.127439775880859
Magyarázat -
Az előrejelzett és a tényleges értékek közötti különbséget a fenti programban a segítségével számítottuk ki numpy.subtract() funkció. Először két listát definiáltunk, amelyek tényleges és előrejelzett értékeket tartalmaznak. Ezután a numpy's squre() módszerrel kiszámítottuk a tényleges és a becsült értékek különbségének átlagát. Végül kiszámoltuk az rmse-t.
Következtetés
Ebben az oktatóanyagban megbeszéltük, hogyan kell kiszámítani a négyzetgyököt a Python használatával, és egy példát mutatunk be. Leginkább az adott adatkészlet pontosságának megállapítására szolgál. Ha az RSME 0-t ad vissza; ez azt jelenti, hogy nincs különbség az előre jelzett és a megfigyelt értékekben.