### 在scikit混淆矩阵中标量变量的索引无效

我使用了一个混淆矩阵,在处理我的numpy数组的特定部分之前一切正常。

真实结果存储在一个名为y_test的数组中,而分类器的结果存储在r中。

当我对整个结果集使用混淆矩阵时,没有任何问题。

但我想将实验结果分开。我有3个特定分类器的结果,分别存储在名为cbt的数组中。

现在我想将这3个特定分类器的结果与整体结果的某些特定索引进行比较。例如,我想突出显示分类器C从整体结果的索引91到180的混淆矩阵结果。

对于分类器B,我想查看从索引1到90的结果的混淆矩阵。以此类推。

这是我的代码,下面。对于前两个混淆矩阵,没有问题。它们显示得很好。

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])

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注