计算MAPE(平均绝对百分比误差)是对于预测结果和真实结果之间的误差进行评估的一种指标。下面我将介绍如何在Python中计算MAPE。
准备数据
首先我们需要准备两个数组,一个数组存放真实值,另一个数组存放预测值。比如我们可以这样准备数据:
true_values = [100, 200, 300, 400, 500]
predicted_values = [110, 180, 320, 420, 520]
计算MAPE
计算MAPE的公式为
MAPE = (1/n) * ∑(i=1)^n |(true_values_i - predicted_values_i)/true_values_i| * 100%
其中n表示样本数量,|x|表示x的绝对值。
下面是Python实现的代码示例:
def calculate_mape(true_values, predicted_values):
if len(true_values) != len(predicted_values):
return -1 # 如果数组长度不相等,返回-1表示出错
n = len(true_values)
mape = 0
for i in range(n):
if true_values[i] != 0:
mape += abs(true_values[i] - predicted_values[i]) / true_values[i]
mape *= (1/n) * 100
return mape
示例说明
接下来通过两个示例说明如何使用上面的代码计算MAPE。
示例1
假设真实值为 [100, 200, 300, 400, 500],预测值为 [110, 180, 310, 400, 520],则可以调用上面的代码进行计算:
true_values = [100, 200, 300, 400, 500]
predicted_values = [110, 180, 310, 400, 520]
mape = calculate_mape(true_values, predicted_values)
print(mape) # 输出结果为 8.514
示例2
假设真实值为 [100, 200, 300, 400, 500],预测值为 [120, 180, 280, 420, 520],则可以调用上面的代码进行计算:
true_values = [100, 200, 300, 400, 500]
predicted_values = [120, 180, 280, 420, 520]
mape = calculate_mape(true_values, predicted_values)
print(mape) # 输出结果为 6.8
以上是使用Python计算MAPE的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在Python中计算MAPE - Python技术站