Границы классификации для модели классификации гауссовых ядер
возвращает поля классификации для обученного классификатора ядра m = margin(Mdl,Tbl,ResponseVarName)Mdl использование данных предиктора в таблице Tbl и метки классов в Tbl.ResponseVarName.
Загрузить ionosphere набор данных. Этот набор данных имеет 34 предиктора и 351 двоичный отклик для радарных возвращений, либо плохой ('b') или хорошо ('g').
load ionosphereРазбейте набор данных на учебные и тестовые наборы. Укажите 30% образец для набора тестов.
rng('default') % For reproducibility Partition = cvpartition(Y,'Holdout',0.30); trainingInds = training(Partition); % Indices for the training set testInds = test(Partition); % Indices for the test set
Обучайте модель классификации двоичного ядра с помощью обучающего набора.
Mdl = fitckernel(X(trainingInds,:),Y(trainingInds));
Оцените маржи обучающего набора и маржи тестового набора.
mTrain = margin(Mdl,X(trainingInds,:),Y(trainingInds)); mTest = margin(Mdl,X(testInds,:),Y(testInds));
Постройте график обоих наборов полей с помощью оконных графиков.
boxplot([mTrain; mTest],[zeros(size(mTrain,1),1); ones(size(mTest,1),1)], ... 'Labels',{'Training set','Test set'}); title('Training-Set and Test-Set Margins')

Распределение запаса обучающего набора расположено выше, чем распределение запаса тестового набора.
Выбор элемента выполняется путем сравнения полей тестового набора из нескольких моделей. Исходя исключительно из этого критерия, классификатор с большими полями является лучшим классификатором.
Загрузить 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);
Случайным образом выберите 10% переменных предиктора.
p = size(X,2); % Number of predictors
idxPart = randsample(p,ceil(0.1*p));Обучение двух бинарных моделей классификации ядра: одна, которая использует все предикторы, и одна, которая использует случайные 10%.
Mdl = fitckernel(XTrain,YTrain); PMdl = fitckernel(XTrain(:,idxPart),YTrain);
Mdl и PMdl являются ClassificationKernel модели.
Оценка полей тестового набора для каждого классификатора.
fullMargins = margin(Mdl,XTest,YTest); partMargins = margin(PMdl,XTest(:,idxPart),YTest);
Постройте график распределения наборов полей с помощью оконных графиков.
boxplot([fullMargins partMargins], ... 'Labels',{'All Predictors','10% of the Predictors'}); title('Test-Set Margins')

Распределение маржи PMdl находится выше, чем распределение маржи Mdl. Следовательно, PMdl модель является лучшим классификатором.
Mdl - Модель классификации двоичного ядраClassificationKernel объект моделиМодель классификации двоичного ядра, указанная как ClassificationKernel объект модели. Можно создать ClassificationKernel объект модели с использованием fitckernel.
Y - Этикетки классовМетки класса, указанные как категориальный, символьный или строковый массив; логический или числовой вектор; или массив ячеек символьных векторов.
Тип данных Y должен совпадать с типом данных Mdl.ClassNames. (Программа рассматривает строковые массивы как массивы ячеек символьных векторов.)
Отдельные классы в Y должен быть подмножеством Mdl.ClassNames.
Если Y является символьным массивом, то каждый элемент должен соответствовать одной строке массива.
Длина Y должно быть равно количеству наблюдений в X или Tbl.
Типы данных: categorical | char | string | logical | single | double | cell
Tbl - Образцы данныхОбразец данных, используемых для обучения модели, указанный как таблица. Каждая строка Tbl соответствует одному наблюдению, и каждый столбец соответствует одной прогнозирующей переменной. Дополнительно, Tbl может содержать дополнительные столбцы для переменной ответа и весов наблюдения. Tbl должен содержать все предикторы, используемые для обучения Mdl. Многозначные переменные и массивы ячеек, отличные от массивов ячеек символьных векторов, не допускаются.
Если Tbl содержит переменную ответа, используемую для обучения Mdl, то указывать не нужно ResponseVarName или Y.
Если вы тренируетесь Mdl используя образцы данных, содержащиеся в таблице, затем входные данные для margin также должен находиться в таблице.
ResponseVarName - Имя переменной ответаTblИмя переменной ответа, указанное как имя переменной в Tbl. Если Tbl содержит переменную ответа, используемую для обучения Mdl, то указывать не нужно ResponseVarName.
При указании ResponseVarName, то необходимо указать его как вектор символа или скаляр строки. Например, если переменная ответа сохранена как Tbl.Y, затем укажите ResponseVarName как 'Y'. В противном случае программа обрабатывает все столбцы Tbl, в том числе Tbl.Y, как предикторы.
Переменная ответа должна быть категориальным, символьным или строковым массивом; логический или числовой вектор; или массив ячеек символьных векторов. Если ответная переменная является символьным массивом, то каждый элемент должен соответствовать одной строке массива.
Типы данных: char | string
m - Границы классификацииПоля классификации, возвращаемые в виде вектора числового столбца n-by-1, где n - количество наблюдений в X.
Поле классификации для двоичной классификации является для каждого наблюдения разницей между оценкой классификации для истинного класса и оценкой классификации для ложного класса.
Программа определяет поле классификации для двоичной классификации как
x).
x - это наблюдение. Если истинная метка x является положительным классом, то y равно 1, а в противном случае -1. f (x) - показатель классификации положительного класса для наблюдения x. Обычно запас классификации определяется как m = yf (x).
Если поля находятся в одной шкале, то они служат мерой достоверности классификации. Среди нескольких классификаторов лучше те, которые дают большую маржу.
Для моделей классификации ядра необработанный показатель классификации для классификации наблюдения x, вектора строки, в положительный класс определяется как
β + b.
(·) - это преобразование наблюдения для расширения признаков.
β - оцененный вектор-столбец коэффициентов.
b - оценочное скалярное смещение.
Необработанная оценка классификации для классификации x в отрицательный класс равна − f (x). Программа классифицирует наблюдения в класс, который дает положительную оценку.
Если модель классификации ядра состоит из учеников логистической регрессии, то программное обеспечение применяет 'logit' преобразование баллов в необработанные оценки классификации (см. ScoreTransform).
Примечания и ограничения по использованию:
margin не поддерживает высокий table данные.
Дополнительные сведения см. в разделе Массивы Tall.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.