Считайте количество уникальных меток
Используйте эту функцию, когда вы работаете над машиной или проблемой классификации глубокого обучения, и вы хотите посмотреть на пропорции значений метки в вашем наборе данных.
задает дополнительные входные параметры с помощью пар "имя-значение". Например, cnt = countlabels(lblsrc,Name,Value)'TableVariable','Color' читает метки, соответствующие 'Color'.
Категориальные массивы
Сгенерируйте категориальный массив с категориями ABC, и 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"]) создает источник метки как категориальный вектор с десятью выборками с четырьмя категориями: ABC, и 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 — Пропорция каждого значения метки, описанного как процент.
Signal Labeler | labeledSignalSet | signalLabelDefinition | folders2labels | splitlabels
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.