#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.