云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

机器学习回归模型评价指标-MAE, MSE, MAPE及代码实现

jxf315 2025-01-04 20:41:37 教程文章 28 ℃

概述

前三章主要介绍了机器学习分类模型评估-准确率(accuracy)、精确率(Precision)、查准类、召回率(Recall)、查全率、ROC曲线、F值(F-Measure)、AUC、P-R曲线,本节介绍机器学习回归模型评价指标-MAE, MSE, MAPE及代码实现。对于回归预测结果,通常会有平均绝对误差(MAE)、平均绝对百分比误差(MAPE)、均方误差(MSE)等多个指标进行评价。这里,我们先介绍最常用的3个。

以下所有公式,

平均绝对误差(MAE)

就是绝对误差的平均值,它的计算公式如下:


MAE 的值越小,说明预测模型拥有更好的精确度。

代码实现

import numpy as np

def mse_value(y_true, y_pred):
    """
    参数:
    y_true -- 测试集目标真实值
    y_pred -- 测试集目标预测值
    
    返回:
    mse -- MSE 评价指标
    """
    
    n = len(y_true)
    mse = sum(np.square(y_true - y_pred))/n
    return mse

均方误差(MSE)

它表示误差的平方的期望值,它的计算公式如下:


MSE 的值越小,说明预测模型拥有更好的精确度。

代码实现

import numpy as np

def mse_value(y_true, y_pred):
    """
    参数:
    y_true -- 测试集目标真实值
    y_pred -- 测试集目标预测值
    
    返回:
    mse -- MSE 评价指标
    """
    
    n = len(y_true)
    mse = sum(np.square(y_true - y_pred))/n
    return mse

平均绝对百分比误差 MAPE

它是一个百分比值,表示预测结果较真实结果平均偏离。


MAPE 的值越小,说明预测模型拥有更好的精确度。

代码实现

import numpy as np

def mape(y_true, y_pred):
    """
    参数:
    y_true -- 测试集目标真实值
    y_pred -- 测试集目标预测值
    
    返回:
    mape -- MAPE 评价指标
    """
    
    n = len(y_true)
    mape = sum(np.abs((y_true - y_pred)/y_true))/n*100
    return mape

Tags:

最近发表
标签列表