Я использую матрицу замешательства, которая работает нормально, пока я не доберусь до определенной части моих массивов numpy.Недопустимый индекс для скалярной переменной в матрице путаницы scikit
Результаты земной истины хранятся в массиве под названием y_test
, а результаты классов - хранятся в r
.
Когда я использую матрицу путаницы для всего набора результатов, проблем нет.
Но я хочу разделить результаты моего эксперимента. У меня есть 3 конкретных результата классификаторов, которые хранятся в массивах под названием c
, b
и t
.
Теперь я хочу сравнить результаты этих 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
Я не знаю, что это неправильно.