Python 如何修复ValueError:要解包的值太多(预期为2个)
我试图使用Python 如何修复ValueError:要解包的值太多(预期为2个),python,scikit-learn,Python,Scikit Learn,我试图使用python中的sorted() ValueError:要解压缩的值太多(应为2个) 这是我的密码: from treeinterpreter import treeinterpreter as ti X = processed_data[0] y = prediction rf = pickle.load(open("original/PermutationModelNew.sav", "rb")) prediction, bias, co
python
中的sorted()
ValueError:要解压缩的值太多(应为2个)
这是我的密码:
from treeinterpreter import treeinterpreter as ti
X = processed_data[0]
y = prediction
rf = pickle.load(open("original/PermutationModelNew.sav", "rb"))
prediction, bias, contributions = ti.predict(rf, X)
print("Bias (trainset mean)", bias[0])
c, feature = sorted(zip(contributions[0],X.columns))
X
是测试数据,如下所示:
Age DailyRate DistanceFromHome ... BusinessTravel_ OverTime_ Over18_
0 39 903 2 ... 2 1 1
[1 rows x 28 columns]
[0]
而y
看起来是这样的:
Age DailyRate DistanceFromHome ... BusinessTravel_ OverTime_ Over18_
0 39 903 2 ... 2 1 1
[1 rows x 28 columns]
[0]
有人能帮我修一下吗?我正在使用这个这里是一个关于我如何对贡献进行排序的示例(我创建了一个包含结果的字典,然后将其转换为数据帧,但您不必使用字典):
尝试:
这应该可以解决您的错误消息。sorted()
返回生成器,我猜有两个以上的元素,因此您出现了此错误。您能帮我修复此错误吗?你所说的2
元素是什么意思@OlvinRoghtc,feature=sorted(…)
在这段代码中,您试图将sorted()
的结果解压缩到两个变量中。只有当有两个项目的iterable时,它才会起作用,如果有更多或更少的项目,你会得到一个异常。你可能想要类似“对于c,排序中的功能(…)”这样的东西。你链接到的示例中有对于c,排序中的功能(…)
。正如其他人所说,您需要它,因为sorted()
正在返回一个生成器。