MSE、MAE、RMSE、MAPE、MARE、SMAPE、ACC、TOP k

在数据科学和机器学习中,评估模型的性能通常需要使用各种指标。这些指标可以帮助我们理解模型的预测能力和误差大小。

1. Mean Squared Error (MSE)

均方误差

MSE 是预测值与真实值之间差的平方的平均值,用于衡量模型的预测误差。MSE 越小,模型的预测效果越好。

公式: \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2

其中:

  • n是样本数
  • y_i​ 是真实值
  • \hat{y}_i是预测值

2. Mean Absolute Error (MAE)

平均绝对误差

MAE 是预测值与真实值之间绝对差的平均值。它比 MSE 更容易解释,因为它直接反映了预测值与真实值之间的平均差距。

公式: \text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|

3. Root Mean Squared Error (RMSE)

均方根误差

RMSE 是 MSE 的平方根,用于保持单位与原始数据一致。它可以更加直观地反映预测误差的大小。

公式:\text{RMSE} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2}

4. Mean Absolute Percentage Error (MAPE)

平均绝对百分比误差

MAPE 是预测误差的绝对值与真实值的百分比的平均值,常用于衡量预测相对误差的大小。

公式: \text{MAPE} = \frac{100\%}{n} \sum_{i=1}^{n} \left| \frac{y_i - \hat{y}_i}{y_i} \right|

5. Mean Absolute Relative Error (MARE)

平均绝对相对误差

MARE 是预测误差与真实值的比值的平均值。与 MAPE 类似,MARE 也衡量相对误差,但通常不乘以 100%。

公式: \text{MARE} = \frac{1}{n} \sum_{i=1}^{n} \left| \frac{y_i - \hat{y}_i}{y_i} \right|

6. Symmetric Mean Absolute Percentage Error (SMAPE)

对称平均绝对百分比误差

SMAPE 是一种修改的 MAPE,避免了真实值为零的问题。它考虑了预测值和真实值的对称差异。

公式: \text{SMAPE} = \frac{100\%}{n} \sum_{i=1}^{n} \frac{|y_i - \hat{y}_i|}{( |y_i| + |\hat{y}_i| ) / 2}

7. Accuracy (ACC)

准确率

在分类任务中,准确率是预测正确的样本数与总样本数之比。对于回归任务,通常用类似准确度的指标衡量,如 R^2。

公式: \text{ACC} = \frac{\text{Number of correct predictions}}{\text{Total number of predictions}}

8. Top k Accuracy (TOP k)

前 k 准确率

Top k 准确率是指预测的前 k 个类别中包含正确类别的比例,常用于多分类任务。

公式: \text{Top k Accuracy} = \frac{\text{Number of samples where the true label is in the top k predicted labels}}{\text{Total number of samples}}

### MAERMSEMAPE 的概念 #### 平均绝对误差 (MAE) 平均绝对误差(MAE)定义为预测值与实际观测值之间差额的绝对值之平均。该度量方法简单直观,易于理解,并且对异常值不那么敏感[^1]。 ```python import numpy as np def mean_absolute_error(y_true, y_pred): return np.mean(np.abs(y_true - y_pred)) ``` #### 均方根误差 (RMSE) 均方根误差(RMSE),也称为标准误差,是通过求解平方损失函数得到的结果再开平方获得的一个衡量模型性能的重要参数。相比MAE而言,它更加重视较大的错误项,因为其先将残差进行了平方处理后再取平均并最终开方返回到原始尺度上。因此,在存在较大偏离的情况下,RMSE会给出更高的惩罚分数。 ```python def root_mean_squared_error(y_true, y_pred): mse = np.mean((y_true - y_pred)**2) rmse = np.sqrt(mse) return rmse ``` #### 平均绝对百分比误差 (MAPE) 平均绝对百分比误差(MAPE)是以百分比的形式来表达预测值同真实值间差异程度的一种方式。这种方式使得不同规模的数据集间的对比成为可能;不过需要注意的是如果某些数据点的真实值非常接近于0,则可能导致极高的甚至无穷大的MAPE值,这会影响整体评估的有效性和合理性。 ```python def mean_absolute_percentage_error(y_true, y_pred): mape = np.mean(np.abs((y_true - y_pred) / y_true)) * 100 return mape ``` ### 使用场景分析 - **MAE**适用于希望平等地对待所有的偏差情况下的回归问题; - **RMSE**适合那些特别在意极端值影响的应用场合,比如房价预估等; - **MAPE**则更多地被应用于需要跨多个数量级进行比较的情景之中,尤其是在商业销售预测等领域内广泛采用,但在面对含有零或负数的目标变量时需谨慎使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值