confusionmat

Вычислите матрицу беспорядка для проблемы классификации

Описание

пример

C = confusionmat(group,grouphat) возвращает матрицу беспорядка C определенный известными и предсказанными группами в group и grouphat, соответственно.

C = confusionmat(group,grouphat,'Order',grouporder) использование grouporder заказать строки и столбцы C.

пример

[C,order] = confusionmat(___) также возвращает порядок строк и столбцов C в переменной order использование любого из входных параметров в предыдущих синтаксисах.

Примеры

свернуть все

Загрузите выборку предсказанных и истинных меток для проблемы классификации. trueLabels истинные метки для проблемы классификации изображений и predictedLabels предсказания сверточной нейронной сети.

load('Cifar10Labels.mat','trueLabels','predictedLabels');

Вычислите числовую матрицу беспорядка. order порядок классов в матрице беспорядка.

[m,order] = confusionmat(trueLabels,predictedLabels)
m = 10×10

   923     4    21     8     4     1     5     5    23     6
     5   972     2     0     0     0     0     1     5    15
    26     2   892    30    13     8    17     5     4     3
    12     4    32   826    24    48    30    12     5     7
     5     1    28    24   898    13    14    14     2     1
     7     2    28   111    18   801    13    17     0     3
     5     0    16    27     3     4   943     1     1     0
     9     1    14    13    22    17     3   915     2     4
    37    10     4     4     0     1     2     1   931    10
    20    39     3     3     0     0     2     1     9   923

order = 10x1 categorical
     airplane 
     automobile 
     bird 
     cat 
     deer 
     dog 
     frog 
     horse 
     ship 
     truck 

Можно использовать confusionchart построить матрицу беспорядка как матричный график беспорядка.

figure
cm = confusionchart(m,order);

Вы не должны вычислять матрицу беспорядка сначала и затем строить ее. Вместо этого постройте матричный график беспорядка непосредственно от истины и предсказанных меток. Можно также добавить столбец и сводные данные строки и заголовок.

figure
cm = confusionchart(trueLabels,predictedLabels, ...
    'Title','My Title', ...
    'RowSummary','row-normalized', ...
    'ColumnSummary','column-normalized');

ConfusionMatrixChart объектно-ориентированная память числовая матрица беспорядка в NormalizedValues свойство и классы в ClassLabels свойство.

cm.NormalizedValues
ans = 10×10

   923     4    21     8     4     1     5     5    23     6
     5   972     2     0     0     0     0     1     5    15
    26     2   892    30    13     8    17     5     4     3
    12     4    32   826    24    48    30    12     5     7
     5     1    28    24   898    13    14    14     2     1
     7     2    28   111    18   801    13    17     0     3
     5     0    16    27     3     4   943     1     1     0
     9     1    14    13    22    17     3   915     2     4
    37    10     4     4     0     1     2     1   931    10
    20    39     3     3     0     0     2     1     9   923

cm.ClassLabels
ans = 10x1 categorical
     airplane 
     automobile 
     bird 
     cat 
     deer 
     dog 
     frog 
     horse 
     ship 
     truck 

Входные параметры

свернуть все

Известные группы для категоризации наблюдений в виде числового вектора, логического вектора, символьного массива, массива строк, массива ячеек из символьных векторов или категориального вектора.

group сгруппированная переменная того же типа как grouphat. group аргумент должен иметь то же количество наблюдений как grouphat, как описано в Сгруппированных переменных (Statistics and Machine Learning Toolbox). confusionmat функционируйте обрабатывает символьные массивы и строковые массивы как массивы ячеек из символьных векторов. Кроме того, confusionmat обработки NaN, пустой, и 'undefined' значения в group как отсутствующие значения и не считает их как отличные группы или категории.

Пример: {'Male','Female','Female','Male','Female'}

Типы данных: single | double | logical | char | string | cell | categorical

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

grouphat сгруппированная переменная того же типа как group. grouphat аргумент должен иметь то же количество наблюдений как group, как описано в Сгруппированных переменных (Statistics and Machine Learning Toolbox). confusionmat функционируйте обрабатывает символьные массивы и строковые массивы как массивы ячеек из символьных векторов. Кроме того, confusionmat обработки NaN, пустой, и 'undefined' значения в grouphat как отсутствующие значения и не считает их как отличные группы или категории.

Пример: [1 0 0 1 0]

Типы данных: single | double | logical | char | string | cell | categorical

Порядок группы в виде числового вектора, логического вектора, символьного массива, массива строк, массива ячеек из символьных векторов или категориального вектора.

grouporder сгруппированная переменная, содержащая все отличные элементы в group и grouphat. Задайте grouporder задавать порядок строк и столбцов C. Если grouporder содержит элементы, которые не находятся в group или grouphat, соответствующие записи в C 0.

По умолчанию порядок группы зависит от типа данных s = [group;grouphat]:

  • Для числовых и логических векторов порядок является отсортированным порядком s.

  • Для категориальных векторов порядок является порядком, возвращенным categoriesS.

  • Для других типов данных порядок является порядком первого выступления в s.

Пример: 'order',{'setosa','versicolor','virginica'}

Типы данных: single | double | logical | char | string | cell | categorical

Выходные аргументы

свернуть все

Матрица беспорядка, возвращенная как квадратная матрица с размером, равняется общему количеству отличных элементов в group и grouphat аргументы. C(i,j) количество наблюдений, которые, как известно, были в группе i но предсказанный, чтобы быть в группе j.

Строки и столбцы C имейте идентичное упорядоченное расположение тех же индексов группы. По умолчанию порядок группы зависит от типа данных s = [group;grouphat]:

  • Для числовых и логических векторов порядок является отсортированным порядком s.

  • Для категориальных векторов порядок является порядком, возвращенным categoriesS.

  • Для других типов данных порядок является порядком первого выступления в s.

Чтобы изменить порядок, задайте grouporder,

confusionmat функционируйте обрабатывает NaN, пустой, и 'undefined' значения в сгруппированных переменных как отсутствующие значения и не включают их в строки и столбцы C.

Порядок строк и столбцов в C, возвращенный как числовой вектор, логический вектор, категориальный вектор или массив ячеек из символьных векторов. Если group и grouphat символьные массивы, строковые массивы или массивы ячеек из символьных векторов, затем переменная order массив ячеек из символьных векторов. В противном случае, order имеет тот же тип как group и grouphat.

Альтернативная функциональность

  • Используйте confusionchart вычислить и построить матрицу беспорядка. Кроме того, confusionchart статистика сводных данных отображений о ваших данных и видах классы матрицы беспорядка согласно мудрой классом точности (положительное прогнозирующее значение), мудрый классом отзыв (истинный положительный уровень), или общее количество правильно классифицированных наблюдений.