Количество уникальных меток
Используйте эту функцию, когда вы работаете над задачей классификации машин или глубокого обучения, и вы хотите просмотреть пропорции значений меток в наборе данных.
задает дополнительные входные параметры, используя пары "имя-значение". Для примера, 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
функция для генерации массива из 1000 случайных целых чисел из распределения Пуассона с параметром скорости 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
Создайте rrayDatastore
объект, содержащий таблицу.
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
функция возвращает любой из предыдущих типов данных.
A 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.