Вычислите матрицу неточностей для задачи классификации
использует C = confusionmat(group,grouphat,'Order',grouporder)grouporder чтобы упорядочить строки и столбцы C.
Загрузите выборку предсказанных и истинных меток для задачи классификации. 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');

The 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 - Известные группыИзвестные группы для классификации наблюдений, заданные как числовой вектор, логический вектор, символьный массив, строковые массивы, массив ячеек из векторов символов или категориальный вектор.
group является сгруппированные переменные того же типа, что и grouphat. The group аргумент должен иметь то же количество наблюдений, что и grouphat, как описано в сгруппированных переменных» (Statistics and Machine Learning Toolbox). The confusionmat функция обрабатывает символьные массивы и строковые массивы как массивы ячеек векторов символов. Кроме того, confusionmat обработки NaN, пустой и 'undefined' значения в group как отсутствующие значения и не считает их отдельными группами или категориями.
Пример: {'Male','Female','Female','Male','Female'}
Типы данных: single | double | logical | char | string | cell | categorical
grouphat - Предсказанные группыПредсказанные группы для классификации наблюдений, заданные как числовой вектор, логический вектор, символьный массив, строковые массивы, массив ячеек из векторов символов или категориальный вектор.
grouphat является сгруппированные переменные того же типа, что и group. The grouphat аргумент должен иметь то же количество наблюдений, что и group, как описано в сгруппированных переменных» (Statistics and Machine Learning Toolbox). The confusionmat функция обрабатывает символьные массивы и строковые массивы как массивы ячеек векторов символов. Кроме того, confusionmat обработки NaN, пустой и 'undefined' значения в grouphat как отсутствующие значения и не считает их отдельными группами или категориями.
Пример: [1 0 0 1 0]
Типы данных: single | double | logical | char | string | cell | categorical
grouporder - Групповой порядокПорядок группы, заданный как числовой вектор, логический вектор, символьный массив, строковые массивы, массив ячеек из векторов символов или категориальный вектор.
grouporder - сгруппированная переменная, содержащая все отдельные элементы в group и grouphat. Задайте grouporder для определения порядка строк и столбцов C. Если grouporder содержит элементы, которые не находятся в group или grouphat, соответствующие записи в C являются 0.
По умолчанию порядок группы зависит от типа данных s = [group;grouphat]:
Для числовых и логических векторов порядок является отсортированным порядком s.
Для категориальных векторов порядок является порядком, возвращаемым .categories(ы)
Для других типов данных порядок является порядком первого внешнего вида в s.
Пример: 'order',{'setosa','versicolor','virginica'}
Типы данных: single | double | logical | char | string | cell | categorical
C - Матрица неточностейМатрица неточностей, возвращенная как квадратная матрица с размером, равным общему числу отдельных элементов в group и grouphat аргументы. C(i,j) количество наблюдений, которые, как известно, находятся в группе i но предсказано, что он будет в группе j.
Строки и столбцы C имеют идентичное упорядоченное расположение одинаковых индексов групп. По умолчанию порядок группы зависит от типа данных s = [group;grouphat]:
Для числовых и логических векторов порядок является отсортированным порядком s.
Для категориальных векторов порядок является порядком, возвращаемым .categories(ы)
Для других типов данных порядок является порядком первого внешнего вида в s.
Чтобы изменить порядок, задайте grouporder,
The confusionmat функциональные обработки NaN, пустой и 'undefined' значения в сгруппированных переменных как отсутствующие значения и не включают их в строки и столбцы C.
order - Порядок строк и столбцовПорядок строк и столбцов в C, возвращенный как числовой вектор, логический вектор, категориальный вектор или массив ячеек из векторов символов. Если group и grouphat являются символьными массивами, массивами строк или массивами ячеек векторов символов, затем переменной order - массив ячеек из векторов символов. В противном случае order имеет тот же тип, что и group и grouphat.
Использовать confusionchart вычислить и построить матрицу неточностей. Дополнительно, confusionchart отображает сводную статистику о ваших данных и сортирует классы матрицы неточностей в соответствии с классовой точностью (положительное прогнозирующее значение), классовым отзывом (истинная положительная скорость) или общим количеством правильно классифицированных наблюдений.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.