Поскольку приведенный вами пример является проблемой двух классов, я объясняю False Positive и False Negative в контексте вашего примера.
В 2 класса случае матрица путаницы обычно выглядит следующим образом:
| Declare C-1 | Declare C-2 |
|Is C-1| TP | FN |
|Is C-2| FP | TN |
где условные обозначения, которые я использовал означает следующее:
- TP = истинно положительный (классифицируется как С-1 и фактически представляет собой С-1)
- FN = ложный отрицательный результат (классифицируется как C-2, но на самом деле представляет собой С-1)
- FP = ложный положительный
- TN = истинный отрицательный
Из необработанных данных значения в таблице обычно являются подсчетами для каждого события по тестовым данным. Из этого мы можем соответствующим образом вычислить точность, напоминание и другие значения.
Например, у вас есть таблица следующим образом.
| Declare C-1 | Declare C-2 |
|Is C-1| 12 | 6 |
|Is C-2| 8 | 11 |
В приведенной выше таблице представляет собой следующую информацию:
- 12 Документы классифицируются как C-1, и они на самом деле принадлежат к C-1.
- 6 документов классифицируются как C-2, но они фактически принадлежат C-1.
- 8 документов классифицируются как C-1, но они фактически принадлежат C-2.
- 11 документов классифицируются как C-2, и они фактически принадлежат C-2.
Для категории С-1:
Precision = 12/(12 + 8)
Recall = 12/(12 + 6)
Для категории С-2:
Precision = 11/(11 + 6)
Recall = 11/(11 + 8)
Например, когда я классифицирует документ (его реальная категория C-1), классификатор классифицирует его как C-2. Затем, следует ли увеличить ложное положительное значение на С-2 и увеличить ложный отрицательный результат при С-1? (Так как реальный ответ представляет собой С-1.)
Вы должны увеличить количество для значения ячеек матрицы путаницы, которая связана с Declare C-2
и Is C-1
, который указан в следующем с *
.
| Declare C-1 | Declare C-2 |
|Is C-1| 0 | 0* |
|Is C-2| 0 | 0 |