Сравнение классификаторов для прогнозов классификации с несколькими метками

Aug 19 2020

У меня есть проблема классификации с несколькими метками (категориальные прогнозируемые значения: A, B, C, D), и я хочу проверить нулевую гипотезу о том, что между классификаторами нет существенной разницы, а разница в точности случайна. Предположим, что фактический результат, выходные данные classifierA и classifierB следующие:

actual_outcome <- sample (БУКВЫ [1: 4], 1000, replace = TRUE, prob = c (0,1, 0,2, 0,65, 0,05))%>% as.data.frame ()

classifierA <- sample (LETTERS [1: 4], 1000, replace = TRUE, prob = c (0.1, 0.2, 0.65, 0.05))%>% as.data.frame ()

classifierB <- sample (LETTERS [1: 4], 1000, replace = TRUE, prob = c (0.1, 0.2, 0.65, 0.05))%>% as.data.frame ()

Можно ли выполнить тест на корреляцию рангов (rcorr.cens) из пакета Hmisc в R с категориальными переменными? Другой вариант - использовать тест Wilcoxon Signed Rank, но проблема с этим тестом заключается в том, что он не принимает во внимание фактические значения (или детерминированные правильные ответы).

Ответы

mdewey Aug 20 2020 at 19:55

Если вас интересует исключительно дифференциальная точность двух классификаторов, которые я назову P и Q, поскольку ваши категории уже являются A, B, C, D, тогда рассмотрите это.

Любой случай, когда P и Q дают один и тот же результат, неинформативен для их дифференциальной точности, хотя, очевидно, имеет значение для их точности в абсолютном выражении. Так что их можно удалить. Вы можете удалить любое наблюдение, в котором ни P, ни Q не дали правильного прогноза, даже если они дали разные, поскольку это тоже не информативно для их дифференциальной точности. Теперь у вас осталось только два вида наблюдений: одни, где P - правильно, а Q - неправильно, и те, где Q - правильно, а P - нет. При нулевом значении они должны быть равновероятными, и вы можете проверить это с помощью биномиального теста.

Конечно, если A, B, C и D действительно заказаны, это не сработает, но в этом случае у вас вообще другие проблемы.