Получение ложных срабатываний и ложных отрицаний соответствующих наборов данных матрицы путаницы?

#python #pandas #dataframe #confusion-matrix

Вопрос:

Я запустил random classifier свои текстовые данные и рассчитал матрицу путаницы, используя следующий код

 #Plot the confusion matrix plot_confusion_matrix(y_test, y_pred, normalize=False,figsize=(15,8))  

Видеть

На приведенном выше рисунке показана моя матрица путаницы. Теперь я хочу увидеть некоторые наборы данных, которые относятся к ложным срабатываниям и ложноотрицательным? Короче говоря, я хочу видеть данные, которые неправильно помечены классификатором. Как я могу это сделать? Заранее спасибо

Ответ №1:

Предполагая , что у вас есть какой-то объект x_test , вы можете отфильтровать строки, в которых предсказание и метка true отличаются друг от друга.

 # Visualize observations that were incorrectly labeled x_test[y_test != y_pred]  

Комментарии:

1. Это не работает. Ошибка индексирования: Несогласованный логический ряд, предоставленный в качестве индексатора (индекс логического ряда и индексируемого объекта не совпадают).

2. Откуда X_test он взялся? Мне трудно сказать, так как вы упомянули только y_test и. y_pred Я обновил ответ, который, надеюсь, теперь сработает.

3. О, это не сработает, потому df что в нем больше строк, чем x_test . Я отредактировал ответ. Не могли бы вы попробовать еще раз, пожалуйста?

4. А как насчет ложных негативов? Я думаю, это из-за ложного срабатывания, верно ?

5. Нет. Это и то, и другое — Если y_pred не равно y_test , то это включает случаи, когда ваша модель предсказывает 1, и это действительно 0, а также когда она предсказывает 0, и это действительно 1.