Ejercicio mediciones

irene.py

from sklearn import metrics
import numpy as np
def errores(reales, observados):
    mse = metrics.mean_squared_error(observados, reales)
    rmse = np.sqrt(mse)
    mae = metrics.mean_absolute_error(observados, reales)
    mape = metrics.mean_absolute_percentage_error(observados, reales) * 100  # Multiplicamos por 100 para porcentaje
    r2 = metrics.r2_score(observados, reales)
    max_error = metrics.max_error(observados, reales)
    return {
        "mse":mse,
        "rmse":rmse,
        "mae":mae,
        "mape":mape,
        "r2":r2,
        "max_error":max_error
    }

def mostrar_resultados(resultados):
    print(f"Error Medio Cuadrático (MSE): {resultados["mse"]:.2f}")
    print(f"Raíz del error Medio Cuadrático (RMSE): {resultados["rmse"]:.2f}")
    print(f"Error Absoluto Medio (MAE): {resultados["mae"]:.2f}")
    print(f"Porcentaje de Error Absoluto Medio (MAPE): {resultados["mape"]:.2f}%")
    print(f"Coeficiente de Determinación (R²): {resultados["r2"]:.2f}")
    print(f"Error Máximo: {resultados["max_error"]:.2f}")

Caso de uso:


import irene as ir
# Datos
medicion = [43, 61, 37, 35, 79, 37, 60, 38, 30, 69, 88, 82, 95, 72, 71, 30, 74, 39, 91, 36, 65, 46, 74, 31, 94, 36, 71,
            98, 89, 54]
reales = [44, 66, 38, 39, 81, 40, 62, 39, 33, 71, 88, 85, 99, 73, 71, 34, 77, 44, 94, 40, 69, 51, 76, 33, 96, 36, 75,
          99, 91, 57]
# Calculo el error
err=ir.errores(medicion,reales)
# Imprimimos los resultados
ir.mostrar_resultados(err)

Publicado por

Avatar del usuario

Juan Pablo Fuentes

Formador de programación y bases de datos