scikit-learn : ValueError: no enough values to unpack (expected 2, got 1)
Posted
技术标签:
【中文标题】scikit-learn : ValueError: no enough values to unpack (expected 2, got 1)【英文标题】:scikit-learn : ValueError: not enough values to unpack (expected 2, got 1) 【发布时间】:2017-12-23 15:54:29 【问题描述】:在最新版本的sklearn
中有一个check_array
函数用于计算mean absolute percentage error (MAPE)
,但它的工作方式似乎与以前的版本不同。
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 的? 检查下面答案中的链接。这回答了我的问题,希望对您也有帮助。 【参考方案1】:看来
check_array
返回一个对象
查看文档here
【讨论】:
啊哈,好的。似乎该函数不再用于计算python sklearn
中的Mean Absolute Percentage Error (MAPE)
指标
@DestaHaileselassieHagos 是的,这就是错误的原因。如果问题已解决,您可以将答案标记为已接受。以上是关于scikit-learn : ValueError: no enough values to unpack (expected 2, got 1)的主要内容,如果未能解决你的问题,请参考以下文章
scikit-learn : ValueError: no enough values to unpack (expected 2, got 1)
在管道中使用时带有 scikit-learn PLSRegression 的 ValueError
使用 scikit-learn 预测单个值会导致 ValueError
在 Python 中实现逻辑回归时 Scikit-learn ValueError
ValueError:使用 GaussianNB 在 scikit-learn (sklearn) 中设置具有序列的数组元素