scikit-learn: 值错误:无法解包足够的值(期望2个,得到1个)

4

在最近的sklearn版本中,有一个用于计算平均绝对百分比误差(MAPE)check_array函数,但它似乎与以前的版本不同。

import numpy as np
from sklearn.utils import check_array

def calculate_mape(y_true, y_pred): 
    y_true, y_pred = check_array(y_true, y_pred)

    return np.mean(np.abs((y_true - y_pred) / y_true)) * 100
y_true = [3, -0.5, 2, 7]; y_pred = [2.5, -0.3, 2, 8]
calculate_mape(y_true, y_pred)

出现了错误:ValueError: not enough values to unpack (expected 2, got 1)。这个错误有什么解决方法吗?


那你是怎么计算 MAPE 的? - Rosa Alejandra
请查看下面答案中的链接。那个回答了我的问题,希望它也能对你有所帮助。 - Desta Haileselassie Hagos
1个回答

2

It seems that the

check_array

返回一个单一对象。
请参阅文档此处

1
好的,看来在Python的sklearn中计算“平均绝对百分比误差(MAPE)”指标时不再使用该函数。 - Desta Haileselassie Hagos
@DestaHaileselassieHagos 是的,这就是错误的原因。如果问题已经解决,您可以将答案标记为已接受。 - seralouk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接