Считайте количество уникальных меток
Используйте эту функцию, когда вы работаете над машиной или проблемой классификации глубокого обучения, и вы хотите посмотреть на пропорции значений метки в вашем наборе данных.
задает дополнительные входные параметры с помощью пар "имя-значение". Например, cnt
= countlabels(lblsrc
,Name,Value
)'TableVariable','Color'
читает метки, соответствующие 'Color'
.
Категориальные массивы
Сгенерируйте категориальный массив с категориями A
B
C
, и D
. Массив содержит выборки каждой категории.
lbls = categorical(["B" "C" "A" "D" "B" "A" "A" "B" "C" "A"], ... ["A" "B" "C" "D"])
lbls = 1x10 categorical
B C A D B A A B C A
Считайте количество уникальных значений категории меток в массиве.
cnt = countlabels(lbls)
cnt=4×3 table
Label Count Percent
_____ _____ _______
A 4 40
B 3 30
C 2 20
D 1 10
Сгенерируйте второй категориальный массив с теми же категориями. Массив содержит выборки каждой категории и одну выборку с отсутствующим значением.
mlbls = categorical(["B" "C" "A" "D" "B" "A" missing "B" "C" "A"], ... ["A" "B" "C" "D"])
mlbls = 1x10 categorical
Columns 1 through 9
B C A D B A <undefined> B C
Column 10
A
Считайте количество уникальных значений категории меток в массиве. Выборка с отсутствующим значением включена в количество как <undefined>
.
mcnt = countlabels(mlbls)
mcnt=5×3 table
Label Count Percent
___________ _____ _______
A 3 30
B 3 30
C 2 20
D 1 10
<undefined> 1 10
Символьные массивы
Сонеты Рида Уильяма Шекспира с fileread
функция. Удалите все неалфавитные символы из текста и преобразуйте их в нижний регистр.
sonnets = fileread("sonnets.txt"); letters = lower(sonnets(regexp(sonnets,"[A-z]")))';
Рассчитайте, сколько раз каждая буква появляется в сонетах. Перечислите буквы, которые чаще всего появляются.
cnt = countlabels(letters); cnt = sortrows(cnt,"Count","descend"); head(cnt)
ans=8×3 table
Label Count Percent
_____ _____ _______
e 9028 12.298
t 7210 9.8216
o 5710 7.7782
h 5064 6.8982
s 4994 6.8029
a 4940 6.7293
i 4895 6.668
n 4522 6.1599
Числовые массивы
Используйте poisrand
функция, чтобы сгенерировать массив 1 000 случайных целых чисел от распределения Пуассона параметром уровня 3. Постройте гистограмму результатов.
N = 1000; lam = 3; nums = zeros(N,1); for jk = 1:N nums(jk) = poisrand(lam); end histogram(nums)
Считайте частоты целых чисел представленными в массиве.
mm = countlabels(nums)
mm=10×3 table
Label Count Percent
_____ _____ _______
0 36 3.6
1 153 15.3
10 1 0.1
2 211 21.1
3 213 21.3
4 184 18.4
5 114 11.4
6 58 5.8
7 20 2
8 10 1
function num = poisrand(lam) % Poisson random integer using rejection method p = 0; num = -1; while p <= lam p = p - log(rand); num = num + 1; end end
Составьте таблицу символов с двумя переменными. Первая переменная Type1
содержит экземпляры букв P, Q, и R. Вторая переменная Type2
содержит экземпляры букв A, B, и D.
tbl = table(["P" "R" "P" "Q" "Q" "Q" "R" "P"]', ... ["A" "B" "B" "A" "D" "D" "A" "A"]',... 'VariableNames',["Type1","Type2"]);
Рассчитайте, сколько раз каждая буква появляется в каждой из табличных переменных.
cnt = countlabels(tbl,'TableVariable','Type1')
cnt=3×3 table
Type1 Count Percent
_____ _____ _______
P 3 37.5
Q 3 37.5
R 2 25
cnt = countlabels(tbl,'TableVariable','Type2')
cnt=3×3 table
Type2 Count Percent
_____ _____ _______
A 4 50
B 2 25
D 2 25
Создайте ArrayDatastore
объект, содержащий таблицу.
ads = arrayDatastore(tbl,'OutputType','same');
Рассчитайте, сколько раз каждая буква появляется в каждой из табличных переменных.
cnt = countlabels(ads,'TableVariable','Type1')
cnt=3×3 table
Type1 Count Percent
_____ _____ _______
P 3 37.5
Q 3 37.5
R 2 25
cnt = countlabels(ads,'TableVariable','Type2')
cnt=3×3 table
Type2 Count Percent
_____ _____ _______
A 4 50
B 2 25
D 2 25
lblsrc
— Введите источник меткиCombinedDatastore
объектВведите источник метки в виде одного из них:
Категориальный вектор.
Вектор строки или массив ячеек из символьных векторов.
Числовой вектор или массив ячеек числовых скаляров.
Логический вектор или массив ячеек логических скаляров.
Таблица с переменными, содержащими любой из предыдущих типов данных.
Datastore, чей readall
функция возвращает любой из предыдущих типов данных.
CombinedDatastore
объект, содержащий базовый datastore, чей readall
функция возвращает любой из предыдущих типов данных. В этом случае необходимо задать индекс базового datastore, который имеет значения метки.
lblsrc
должен содержать метки, которые могут быть преобразованы в вектор с дискретным набором категорий.
Пример: lblsrc = categorical(["B" "C" "A" "E" "B" "A" "A" "B" "C" "A"],["A" "B" "C" "D"])
создает источник метки как категориальный вектор с десятью выборками с четырьмя категориями: A
B
C
, и D
.
Пример: lblsrc = [0 7 2 5 11 17 15 7 7 11]
создает источник метки как числовой вектор с десятью выборками.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| table
| cell
| categorical
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'TableVariable','Sex','UnderlyingDatastoreIndex',5
читает метки, соответствующие 'Sex'
только в пятом базовом datastore объединенного datastore.'TableVariable'
— Табличная переменная, чтобы читатьТабличная переменная, чтобы читать в виде вектора символов или строкового скаляра. Если этот аргумент не задан, то countlabels
использует первую табличную переменную.
'UnderlyingDatastoreIndex'
— Лежание в основе индекса datastoreБазовый индекс datastore в виде целочисленного скаляра. Этот аргумент применяется когда lblsrc
CombinedDatastore
объект. countlabels
считает метки в datastore полученными с помощью UnderlyingDatastores
свойство lblsrc
.
cnt
— Уникальные количества меткиУникальные количества метки, возвращенные как таблица с этими переменными:
Label
— Уникальные значения категории меток. Если 'TableVariable'
задан, затем Label
имя заменяется именем табличной переменной.
Count
— Количество экземпляров каждого значения метки.
Percent
— Пропорция каждого значения метки, описанного как процент.
folders2labels
| labeledSignalSet
| Signal Labeler | signalLabelDefinition
| splitlabels
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.