我正在尝试使用 confusion_matrix 函数,如下所示:
tn, fp, fn, tp = confusion_matrix(y_true, y_predict).ravel()
y_true
和 y_predict
都是列表。当我返回它们的形状时,我得到: (71,)
。但是,对于上述语句,我收到以下错误:
ValueError: too many values to unpack
我不确定是否是因为
(71,)
中的第二个(空)维度?如果这是这里的问题,我不确定如何删除它。有什么想法吗?
谢谢。
最佳答案
如果输出数量是确定的,您只能动态分配多个变量。如果将 confusion_matrix
的结果分配给单个变量,则可以在循环中检查其内容并有条件地分配内容:returned = confusion_matrix(y_true, y_predict).ravel()
for var in returned:
#... do stuff with each item in the returned collection
你也可以只检查它的长度,如果它是 4,你可以照常进行:
if len(returned) == 4:
tn, fp, fn, tp = returned
关于python - 混淆矩阵 - 解包的值太多,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49055410/