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