Този урок ще научи за RSME (средноквадратична грешка) и нейното внедряване в Python. Нека започнем с краткото му въведение.
Въведение
RSME (средноквадратична грешка) изчислява трансформацията между стойностите, предвидени от модел, и действителните стойности. С други думи, това е една такава грешка в техниката за измерване на прецизността и процента на грешка на всеки алгоритъм за машинно обучение на регресионен проблем.
Метриката за грешка ни позволява да проследим ефективността и точността на различните матрици. Тези матрици са дадени по-долу.
добавяне на низове java
- Средна квадратична грешка (MSE)
- Средноквадратична грешка (RSME)
- R-квадрат
- точност
- MAPE и др.
Средна квадратична грешка (MSE)
MSE е рисков метод, който ни улеснява да обозначим средната квадратна разлика между прогнозираната и действителната стойност на характеристика или променлива. Изчислява се по метода по-долу. Синтаксисът е даден по-долу.
Синтаксис -
sklearn.metrics.mean_squared_error(y_true, y_pred, *, sample_weight=None, multioutput='uniform_average', squared=True)
Параметри -
Се завръща -
Връща неотрицателна стойност с плаваща запетая (най-добрата стойност е 0,0) или масив от стойности с плаваща запетая, по една за всяка отделна цел.
Нека разберем следния пример.
пълна форма
Пример - 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)
Изход:
The difference between actual and predicted values: 1.5388307249337076
Пример - 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)
Изход:
3.15206
Средноквадратична грешка (RMSE)
RMSE е квадратен корен от стойността, събрана от функцията за средна квадратична грешка. Помага ни да начертаем разликата между прогнозната и действителната стойност на параметър на модела.
Използвайки RSME, можем лесно да измерим ефективността на модела.
Известен е добре работещ алгоритъм, ако неговият RSME резултат е по-малък от 180. Така или иначе, ако стойността на RSME надвишава 180, трябва да приложим избор на функция и настройка на хиперпараметър върху параметъра на модела.
генератор на случайни стойности в java
Средноквадратична грешка с модул NumPy
RSME е корен квадратен от средната квадратна разлика между прогнозираната и действителната стойност на променливата/функцията. Да видим следната формула.
Нека разбием горната формула -
Ние ще внедрим RSME, използвайки функциите на модула Numpy. Нека разберем следния пример.
Забележка - Ако вашата система няма библиотеки numpy и sklearn, можете да инсталирате с помощта на командите по-долу.
pip install numpy pip install sklearn
пример -
как да промените низ на int
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)
Изход:
Root Mean Square Error: 2.127439775880859
Обяснение -
Изчислихме разликата между прогнозираните и действителните стойности в горната програма, използвайки numpy.subtract() функция. Първо дефинирахме два списъка, които съдържат действителни и прогнозирани стойности. След това изчислихме средната стойност на разликата в действителните и предвидените стойности, използвайки метода squre() на numpy. Накрая изчислихме rmse.
Заключение
В този урок обсъдихме как да изчислим средния квадратен корен с помощта на Python с примерна илюстрация. Използва се най-вече за намиране на точността на даден набор от данни. Ако RSME върне 0; това означава, че няма разлика в прогнозираните и наблюдаваните стойности.