logo

RSME – Root Mean Square Error in Python

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 -

    y_true -Ez egy tömbszerű cél_értékek vagy n_samples.y_pred -Ez egy becsült célérték.minta súlya (opcionális) -A minta tömegét jelenti.Több kimenetű {nyers_értékek, egységes_átlag} -Több kimeneti érték összesítését határozza meg. A raw_values ​​egy teljes hibakészletet ad vissza több kimeneti bemenet esetén, az uniform_average pedig az összes egységes súlyú kimenet hibája.Négyzetes -Igaz, MSE értéket ad vissza, ellenkező esetben RSME értéket ad vissza.

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.

RSME – Root Mean Square Error in Python

Bontsuk fel a fenti képletet -

    S -Ez az „összeget” jelenti.dén-Ez az i előrejelzett értéketh pén-Ez az i előrejelzett értéketh n -A minta méretét jelzi.

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.