【数据分析面试】58.计算均方根误差 (Python)
通过这种方法,我们可以计算并返回两个列表之间的均方根误差,从而评估预测模型的性能。均方根误差(RMSE)是衡量预测值与实际值之间差异的标准。来计算回归模型的均方根误差。该函数应接收两个列表,一个代表预测值。更多详细答案可关注公众号查阅。
·

题目: 计算均方根误差 (Python)
编写一个函数 calculate_rmse 来计算回归模型的均方根误差。该函数应接收两个列表,一个代表预测值 y_pred,另一个代表目标值 y_true。
输入:
示例 1:
y_pred = [3,4,5]
y_true = [3,4,5]
def calculate_rmse(y_pred, y_true) -> 0
示例 2:
y_pred = [3,4,5]
y_true = [5,4,3]
def calculate_rmse(y_pred, y_true) -> 1.63
答案
解题思路
均方根误差(RMSE)是衡量预测值与实际值之间差异的标准。其计算公式为:
RMSE=1n∑i=1n(ypredi−ytruei)2\text{RMSE} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_{\text{pred}_i} - y_{\text{true}_i})^2}RMSE=n1i=1∑n(ypredi−ytruei)2
其中:
- yprediy_{\text{pred}_i}ypredi 是第 iii 个预测值
- ytrueiy_{\text{true}_i}ytruei 是第 iii 个目标值
- nnn 是值的数量
答案代码
import math
def calculate_rmse(y_pred, y_true):
# 检查输入列表的长度是否相同
if len(y_pred) != len(y_true):
raise ValueError("预测值和目标值列表的长度必须相同")
# 计算差异平方和
mse = sum((pred - true) ** 2 for pred, true in zip(y_pred, y_true)) / len(y_pred)
# 返回均方根误差
return round(math.sqrt(mse), 2)
# 示例 1
y_pred = [3, 4, 5]
y_true = [3, 4, 5]
print(calculate_rmse(y_pred, y_true)) # 输出: 0
# 示例 2
y_pred = [3, 4, 5]
y_true = [5, 4, 3]
print(calculate_rmse(y_pred, y_true)) # 输出: 1.63
zip(y_pred, y_true): 将预测值和目标值配对迭代。(pred - true) ** 2: 计算每对预测值和目标值之间的平方差。sum(...)/len(y_pred): 计算所有平方差的平均值。math.sqrt(mse): 计算平均值的平方根。round(..., 2): 将结果保留两位小数。
通过这种方法,我们可以计算并返回两个列表之间的均方根误差,从而评估预测模型的性能。
更多详细答案可关注公众号查阅。
更多推荐

所有评论(0)