Комплексное руководство по вычислению среднеквадратической ошибки (RMSE) в Python

Среднеквадратическая ошибка (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 – ценный показатель для оценки точности прогнозных моделей и понимания различий между прогнозируемыми и фактическими значениями.