📜  Python |均方误差(1)

📅  最后修改于: 2023-12-03 15:19:02.996000             🧑  作者: Mango

Python | 均方误差

均方误差(Mean Squared Error,MSE)是指参数估计值与参数真值之差的平方的期望值,常用于衡量统计样本与真值之间的偏差。在机器学习与深度学习中,MSE经常被用作回归任务的损失函数,通过最小化MSE来优化模型的参数。

实现方法

Python中可以使用numpy库中的mean()函数以及square()函数来快速计算MSE。

import numpy as np

def mean_squared_error(y_true, y_pred):
    return np.mean(np.square(y_true - y_pred))

其中,y_true为真实标签的数组,y_pred为模型预测值的数组。

使用案例

下面是一个使用MSE作为损失函数的线性回归模型的训练过程,以及使用均方误差评估模型在测试集上的表现的代码片段。

from sklearn.linear_model import LinearRegression

# 训练集和测试集
X_train = [[1, 2], [2, 4], [3, 6], [4, 8], [5, 10]]
y_train = [2, 4, 6, 8, 10]
X_test = [[6, 12], [7, 14], [8, 16], [9, 18], [10, 20]]
y_test = [12, 14, 16, 18, 20]

# 训练模型
model = LinearRegression()
model.fit(X_train, y_train)

# 在测试集上评估模型表现
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print("MSE: ", mse)

输出结果:

MSE:  6.0185311279783e-30
总结

均方误差是一种衡量样本与真值之间偏差的指标,可以被应用在回归任务中作为损失函数。在Python中,可以使用numpy库中的mean()函数和square()函数来快速计算MSE。