Ребро классификации для Гауссовой модели классификации ядер
e = edge(Mdl,X,Y)
e = edge(Mdl,X,Y,'Weights',weights)
возвращает ребро классификации для бинарной Гауссовой модели e
= edge(Mdl
,X
,Y
)Mdl
классификации ядер с помощью данных о предикторе в X
и соответствующих меток класса в Y
.
Загрузите набор данных ionosphere
. Этот набор данных имеет 34 предиктора, и 351 бинарный ответ для радара возвращается, или плохой ('b'
) или хороший ('g'
).
load ionosphere
Разделите набор данных в наборы обучающих данных и наборы тестов. Задайте 15%-ю выборку затяжки для набора тестов.
rng('default') % For reproducibility Partition = cvpartition(Y,'Holdout',0.15); trainingInds = training(Partition); % Indices for the training set testInds = test(Partition); % Indices for the test set
Обучите бинарную модель классификации ядер использование набора обучающих данных.
Mdl = fitckernel(X(trainingInds,:),Y(trainingInds));
Оцените ребро набора обучающих данных и ребро набора тестов.
eTrain = edge(Mdl,X(trainingInds,:),Y(trainingInds))
eTrain = 2.1703
eTest = edge(Mdl,X(testInds,:),Y(testInds))
eTest = 1.5643
Выполните выбор функции путем сравнения ребер набора тестов от многоуровневых моделей. Базирующийся только на этом критерии, классификатор с самым высоким ребром является лучшим классификатором.
Загрузите набор данных ionosphere
. Этот набор данных имеет 34 предиктора, и 351 бинарный ответ для радара возвращается, или плохой ('b'
) или хороший ('g'
).
load ionosphere
Разделите набор данных в наборы обучающих данных и наборы тестов. Задайте 15%-ю выборку затяжки для набора тестов.
rng('default') % For reproducibility Partition = cvpartition(Y,'Holdout',0.15); trainingInds = training(Partition); % Indices for the training set XTrain = X(trainingInds,:); YTrain = Y(trainingInds); testInds = test(Partition); % Indices for the test set XTest = X(testInds,:); YTest = Y(testInds);
Случайным образом выберите половину переменных прогноза.
p = size(X,2); % Number of predictors
idxPart = randsample(p,ceil(0.5*p));
Обучите две бинарных модели классификации ядер: тот, который использует все предикторы и тот, который использует половину предикторов.
Mdl = fitckernel(XTrain,YTrain); PMdl = fitckernel(XTrain(:,idxPart),YTrain);
Mdl
и PMdl
являются моделями ClassificationKernel
.
Оцените ребро набора тестов для каждого классификатора.
fullEdge = edge(Mdl,XTest,YTest)
fullEdge = 1.6335
partEdge = edge(PMdl,XTest(:,idxPart),YTest)
partEdge = 2.0205
На основе ребер набора тестов классификатор, который использует половину предикторов, является лучшей моделью.
Mdl
— Бинарная модель классификации ядерClassificationKernel
Бинарная модель классификации ядер, заданная как объект модели ClassificationKernel
. Можно создать объект модели ClassificationKernel
с помощью fitckernel
.
Y
Метки классаМетки класса, заданные как категориальное, символ, или массив строк, логический или числовой вектор или массив ячеек из символьных векторов.
Тип данных Y
должен совпасть с типом данных Mdl.ClassNames
. (Программное обеспечение обрабатывает строковые массивы как массивы ячеек из символьных векторов.)
Отличные классы в Y
должны быть подмножеством Mdl.ClassNames
.
Если Y
является символьным массивом, то каждый элемент должен соответствовать одной строке массива.
Длина Y
и количество наблюдений в X
должны быть равными.
Типы данных: categorical
| char
| string
| logical
| single
| double
| cell
weights
— Веса наблюденияВеса наблюдения, заданные как положительный числовой вектор длины n
, где n
является количеством наблюдений в X
. Если вы предоставляете веса, edge
вычисляет взвешенное ребро классификации.
Значением по умолчанию является
.ones(n,1)
edge
нормирует weights
, чтобы суммировать до значения априорной вероятности в соответствующем классе.
Типы данных: double | single
e
Ребро классификацииРебро классификации, возвращенное в виде числа.
classification edge является взвешенным средним classification margins.
Один способ выбрать среди нескольких классификаторов, например, выполнить выбор функции, состоит в том, чтобы выбрать классификатор, который приводит к самому большому ребру.
classification margin для бинарной классификации, для каждого наблюдения, различия между счетом классификации к истинному классу и счетом классификации к ложному классу.
Программное обеспечение задает поле классификации для бинарной классификации как
x является наблюдением. Если истинная метка x является положительным классом, то y равняется 1, и –1 в противном случае. f (x) является счетом классификации положительных классов к наблюдению x. Поле классификации обычно задается как m = y f (x).
Если поля находятся в той же шкале, то они служат мерой по уверенности классификации. Среди нескольких классификаторов те, которые приводят к большим полям, лучше.
Для моделей классификации ядер, необработанного classification score для классификации наблюдения x, вектор - строка, в положительный класс задан
преобразование наблюдения для расширения функции.
β является предполагаемым вектор-столбцом коэффициентов.
b является предполагаемым скалярным смещением.
Необработанный счет классификации к классификации x в отрицательный класс является −f (x). Программное обеспечение классифицирует наблюдения в класс, который приводит к положительному счету.
Если модель классификации ядер состоит из учеников логистической регрессии, то программное обеспечение применяет преобразование счета 'logit'
к необработанным очкам классификации (см. ScoreTransform
).
Эта функция полностью поддерживает "высокие" массивы. Для получения дополнительной информации смотрите Длинные массивы (MATLAB).
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.