什么是均方误差(MSE)和均方根误差(RMSE)?

MSE 是均方误差(Mean Squared Error)的缩写,是一种常用的衡量回归模型预测精度的指标。它表示预测值与真实值之间差异的平方和的平均值,通常用于评估回归模型的性能。

MSE = \frac{1}{n}\sum_{i=1}^{n}(y_i - y_p)^2

RMSE 是均方根误差(Root Mean Squared Error)的缩写,是一种常用的衡量回归模型预测精度的指标。它表示预测值与真实值之间差异的平均大小,通常用于评估回归模型的性能。

RMSE = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_i - y_p)^2}
其中,y_i 是第 i 个样本的真实值,y_p 是模型对第 i 个样本的预测值,n 是样本数量。

MSE,RMSE 越小,说明模型的预测精度越高。但是需要注意的是,MSE,RMSE 受到异常值的影响较大,因此在实际应用中需要结合其他指标(比如最大误差max_error)进行综合评估。

scikit-learn库mean_squared_error函数介绍

https://scikit-learn.org/stable/modules/model_evaluation.html#mean-squared-error

sklearn.metrics.mean_squared_error — scikit-learn 1.3.2 documentation

mean_squared_error函数使用案例

案例1

from sklearn.metrics import mean_squared_error
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
print(mean_squared_error(y_true, y_pred))

y_true = [[0.5, 1], [-1, 1], [7, -6]]
y_pred = [[0, 2], [-1, 2], [8, -5]]
print(mean_squared_error(y_true, y_pred))

输出:

0.375
0.7083333333333334

案例2

from sklearn.metrics import mean_squared_error
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
print(mean_squared_error(y_true, y_pred))
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
print(mean_squared_error(y_true, y_pred, squared=False))
y_true = [[0.5, 1],[-1, 1],[7, -6]]
y_pred = [[0, 2],[-1, 2],[8, -5]]
print(mean_squared_error(y_true, y_pred))
print(mean_squared_error(y_true, y_pred, squared=False))
print(mean_squared_error(y_true, y_pred, multioutput='raw_values'))
print(mean_squared_error(y_true, y_pred, multioutput=[0.3, 0.7]))

输出:

0.375
0.6123724356957945
0.7083333333333334
0.8227486121839513
[0.41666667 1.        ]
0.825
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐