mae, mse, rmse, r2
时间: 2024-09-15 09:14:01 浏览: 16
在Python中,MAE(Mean Absolute Error)、MSE(Mean Squared Error)、RMSE(Root Mean Squared Error)和R²(R-squared)都是评估模型预测性能的指标,通常用于回归分析。
1. **MAE (Mean Absolute Error)**:平均绝对误差,计算的是每个预测值与真实值之间的绝对差的平均值。它对异常值不敏感,因为没有平方项,所以较小的数据偏差不会被放大。
```python
from sklearn.metrics import mean_absolute_error
y_true = [1, 2, 3, 4]
y_pred = [1.5, 2.8, 2.9, 4.0]
mae = mean_absolute_error(y_true, y_pred)
```
2. **MSE (Mean Squared Error)**:均方误差,计算的是每个预测值与真实值之间差的平方的平均值。由于平方的存在,较大的偏差会被放大,因此MSE更侧重于惩罚大的错误。
```python
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)
```
3. **RMSE (Root Mean Squared Error)**:根均方误差,是MSE的平方根,它提供了MSE的一个直观尺度,单位与原始数据相同。计算公式是MSE的平方根,使得结果更容易理解。
```python
rmse = np.sqrt(mean_squared_error(y_true, y_pred))
```
4. **R² (R-squared or Coefficient of Determination)**:决定系数或R方,衡量了模型能够解释因变量变异性的比例。它的取值范围在0到1之间,越接近1表示模型拟合得越好;0则表示模型没有任何解释能力。
```python
from sklearn.metrics import r2_score
r2 = r2_score(y_true, y_pred)
```
这些指标在选择和比较模型时非常有用,可以帮助我们了解哪些模型更好地捕捉到了数据中的模式。使用哪个指标取决于具体的问题和偏好,比如对于稳健度要求较高的情况,可能更倾向于使用MAE,而对于追求高精度的情况,则可能关注RMSE和R²。