scikit 混淆矩阵中标量变量的索引无效
Invalid index to scalar variable in scikit confusion matrix
我正在使用一个混淆矩阵,在我到达我的 numpy 数组的特定部分之前,它工作得很好。
真实结果存储在名为 y_test
的数组中,而分类器的结果存储在 r
.
中
当我对整组结果使用混淆矩阵时,没有问题。
但我想从我的实验中划分结果。
我有 3 个特定分类器的结果,它们存储在名为 c
、b
和 t
.
的数组中
现在我想将这 3 个特定分类器的结果与总体结果的某些特定指标进行比较。例如,我想突出显示分类器 C
结果的混淆矩阵,特别是总体结果的索引 91 到 180。
对于分类器 B
我想查看索引 1 到 90 的结果的混淆矩阵。
等等。
下面是我的代码。对于前 2 个混淆矩阵,没有问题。他们表现得很好。
cm_c = confusion_matrix(y_test[91:80],c[91:80])
plt.matshow(cm_c)
plt.title('Confusion matrix')
plt.colorbar()
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.show()
cm_b = confusion_matrix(y_test[1:90],b[1:90])
plt.matshow(cm_b)
plt.title('Confusion matrix')
plt.colorbar()
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.show()
cm_t = confusion_matrix(y_test[228:317,t[228:317])
plt.matshow(cm_t)
plt.title('Confusion matrix')
plt.colorbar()
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.show()
但是对于上面的最后一组结果(使用来自分类器 T
的结果数组),我得到以下错误:
cm_t = confusion_matrix(y_test[228:317], t[228:317])
IndexError: invalid index to scalar variable
不知道怎么回事
在你的行中:
cm_t = confusion_matrix(y_test[228:317,t[228:317])
您缺少一个括号。应该是:
cm_t = confusion_matrix(y_test[228:317],t[228:317])
我正在使用一个混淆矩阵,在我到达我的 numpy 数组的特定部分之前,它工作得很好。
真实结果存储在名为 y_test
的数组中,而分类器的结果存储在 r
.
当我对整组结果使用混淆矩阵时,没有问题。
但我想从我的实验中划分结果。
我有 3 个特定分类器的结果,它们存储在名为 c
、b
和 t
.
现在我想将这 3 个特定分类器的结果与总体结果的某些特定指标进行比较。例如,我想突出显示分类器 C
结果的混淆矩阵,特别是总体结果的索引 91 到 180。
对于分类器 B
我想查看索引 1 到 90 的结果的混淆矩阵。
等等。
下面是我的代码。对于前 2 个混淆矩阵,没有问题。他们表现得很好。
cm_c = confusion_matrix(y_test[91:80],c[91:80])
plt.matshow(cm_c)
plt.title('Confusion matrix')
plt.colorbar()
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.show()
cm_b = confusion_matrix(y_test[1:90],b[1:90])
plt.matshow(cm_b)
plt.title('Confusion matrix')
plt.colorbar()
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.show()
cm_t = confusion_matrix(y_test[228:317,t[228:317])
plt.matshow(cm_t)
plt.title('Confusion matrix')
plt.colorbar()
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.show()
但是对于上面的最后一组结果(使用来自分类器 T
的结果数组),我得到以下错误:
cm_t = confusion_matrix(y_test[228:317], t[228:317])
IndexError: invalid index to scalar variable
不知道怎么回事
在你的行中:
cm_t = confusion_matrix(y_test[228:317,t[228:317])
您缺少一个括号。应该是:
cm_t = confusion_matrix(y_test[228:317],t[228:317])