如何在编程中实现一个计算均方误差的自定义函数?
时间: 2024-09-13 22:11:53 浏览: 45
在编程中,特别是使用Python这样的语言,你可以通过定义一个函数来计算两个数组之间的均方误差(Mean Squared Error, MSE)。MSE通常用于评估预测值与实际值之间的差异。下面是一个简单的例子:
```python
def mean_squared_error(y_true, y_pred):
"""
计算两个数组的均方误差
:param y_true: 真实的数值数组
:param y_pred: 预测的数值数组
:return: 返回两个数组的均方误差
"""
# 检查输入是否都是数组
if not isinstance(y_true, (list, np.ndarray)) or not isinstance(y_pred, (list, np.ndarray)):
raise ValueError("输入应为数组类型")
# 如果维度不同,尝试将y_pred调整为与y_true相同的形状
if len(y_true.shape) != len(y_pred.shape):
y_pred = y_pred.reshape(y_true.shape)
# 计算每个元素的差的平方,然后求平均
mse = np.mean((y_true - y_pred)**2)
return mse
# 使用示例
y_true = [1, 2, 3, 4]
y_pred = [0.9, 1.8, 2.85, 3.9]
mse = mean_squared_error(y_true, y_pred)
print(f"均方误差: {mse}")
阅读全文