Вычислите матрицу беспорядка для проблемы классификации
использование 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');
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
. 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
— Предсказанные группыПредсказанные группы для категоризации наблюдений в виде числового вектора, логического вектора, символьного массива, массива строк, массива ячеек из символьных векторов или категориального вектора.
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
— Порядок группыПорядок группы в виде числового вектора, логического вектора, символьного массива, массива строк, массива ячеек из символьных векторов или категориального вектора.
grouporder
сгруппированная переменная, содержащая все отличные элементы в group
и grouphat
. Задайте grouporder
задавать порядок строк и столбцов C
. Если grouporder
содержит элементы, которые не находятся в group
или grouphat
, соответствующие записи в C
0
.
По умолчанию порядок группы зависит от типа данных s = [group;grouphat]
:
Для числовых и логических векторов порядок является отсортированным порядком s
.
Для категориальных векторов порядок является порядком, возвращенным
.categories
S
Для других типов данных порядок является порядком первого выступления в 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
Для других типов данных порядок является порядком первого выступления в s
.
Чтобы изменить порядок, задайте grouporder
,
confusionmat
функционируйте обрабатывает NaN
, пустой, и 'undefined'
значения в сгруппированных переменных как отсутствующие значения и не включают их в строки и столбцы C
.
order
— Порядок строк и столбцовПорядок строк и столбцов в C
, возвращенный как числовой вектор, логический вектор, категориальный вектор или массив ячеек из символьных векторов. Если group
и grouphat
символьные массивы, строковые массивы или массивы ячеек из символьных векторов, затем переменная order
массив ячеек из символьных векторов. В противном случае, order
имеет тот же тип как group
и grouphat
.
Используйте confusionchart
вычислить и построить матрицу беспорядка. Кроме того, confusionchart
статистика сводных данных отображений о ваших данных и видах классы матрицы беспорядка согласно мудрой классом точности (положительное прогнозирующее значение), мудрый классом отзыв (истинный положительный уровень), или общее количество правильно классифицированных наблюдений.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.