Среднеквадратическая ошибка (RMSE) — это широко используемый показатель в различных областях, включая статистику, машинное обучение и обработку сигналов. Он измеряет среднюю разницу между прогнозируемыми и фактическими значениями в наборе данных. В этой статье блога мы рассмотрим несколько методов расчета RMSE в Python, приведя примеры кода для каждого метода.
Метод 1: использование NumPy
NumPy – популярная библиотека для научных вычислений на Python, предоставляющая функции, упрощающие математические операции.
import numpy as np
def calculate_rmse_numpy(actual, predicted):
mse = np.mean((actual - predicted) 2)
rmse = np.sqrt(mse)
return rmse
# Example usage
actual_values = np.array([1, 2, 3, 4, 5])
predicted_values = np.array([1.1, 2.2, 2.9, 4.1, 5.3])
rmse = calculate_rmse_numpy(actual_values, predicted_values)
print("RMSE using NumPy:", rmse)
Метод 2. Использование scikit-learn
Scikit-learn – это мощная библиотека машинного обучения, предоставляющая различные показатели оценки, включая RMSE.
from sklearn.metrics import mean_squared_error
def calculate_rmse_sklearn(actual, predicted):
mse = mean_squared_error(actual, predicted)
rmse = np.sqrt(mse)
return rmse
# Example usage
actual_values = [1, 2, 3, 4, 5]
predicted_values = [1.1, 2.2, 2.9, 4.1, 5.3]
rmse = calculate_rmse_sklearn(actual_values, predicted_values)
print("RMSE using scikit-learn:", rmse)
Метод 3. Использование математической библиотеки
Если вы предпочитаете использовать встроенную математическую библиотеку Python, вы можете рассчитать RMSE следующим образом:
import math
def calculate_rmse_math(actual, predicted):
squared_errors = [(actual[i] - predicted[i]) 2 for i in range(len(actual))]
mse = sum(squared_errors) / len(actual)
rmse = math.sqrt(mse)
return rmse
# Example usage
actual_values = [1, 2, 3, 4, 5]
predicted_values = [1.1, 2.2, 2.9, 4.1, 5.3]
rmse = calculate_rmse_math(actual_values, predicted_values)
print("RMSE using math library:", rmse)
В этой статье мы рассмотрели три различных метода расчета среднеквадратической ошибки (RMSE) в Python. Вы можете выбрать метод, который лучше всего соответствует вашим потребностям и имеющимся у вас библиотекам. Помните, что RMSE – ценный показатель для оценки точности прогнозных моделей и понимания различий между прогнозируемыми и фактическими значениями.