exponenta event banner

край

Край классификации для модели классификации ядра Гаусса

Описание

пример

e = edge(Mdl,X,Y) возвращает край классификации для двоичной модели классификации ядра Гаусса Mdl использование данных предиктора в X и соответствующие метки классов в Y.

e = edge(Mdl,Tbl,ResponseVarName) возвращает край классификации для обученного классификатора ядра Mdl использование данных предиктора в таблице Tbl и метки классов в Tbl.ResponseVarName.

e = edge(Mdl,Tbl,Y) возвращает край классификации для классификатора Mdl использование данных предиктора в таблице Tbl и метки класса в векторе Y.

e = edge(___,'Weights',weights) возвращает взвешенную границу классификации с использованием весов наблюдения, предоставленных в weights. Укажите веса после любой комбинации входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Загрузить 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

Основываясь на краях тестового набора, классификатор, который использует половину предикторов, является лучшей моделью.

Входные аргументы

свернуть все

Модель классификации двоичного ядра, указанная как ClassificationKernel объект модели. Можно создать ClassificationKernel объект модели с использованием fitckernel.

Данные предиктора, определенные как n-за-p числовая матрица, где n - количество наблюдений, а p - количество предикторов, используемых для обучения Mdl.

Длина Y и число замечаний в X должно быть равным.

Типы данных: single | double

Метки класса, указанные как категориальный, символьный или строковый массив; логический или числовой вектор; или массив ячеек символьных векторов.

  • Тип данных Y должен совпадать с типом данных Mdl.ClassNames. (Программа рассматривает строковые массивы как массивы ячеек символьных векторов.)

  • Отдельные классы в Y должен быть подмножеством Mdl.ClassNames.

  • Если Y является символьным массивом, то каждый элемент должен соответствовать одной строке массива.

  • Длина Y должно быть равно количеству наблюдений в X или Tbl.

Типы данных: categorical | char | string | logical | single | double | cell

Образец данных, используемых для обучения модели, указанный как таблица. Каждая строка Tbl соответствует одному наблюдению, и каждый столбец соответствует одной прогнозирующей переменной. Дополнительно, Tbl может содержать дополнительные столбцы для переменной ответа и весов наблюдения. Tbl должен содержать все предикторы, используемые для обучения Mdl. Многозначные переменные и массивы ячеек, отличные от массивов ячеек символьных векторов, не допускаются.

Если Tbl содержит переменную ответа, используемую для обучения Mdl, то указывать не нужно ResponseVarName или Y.

Если вы тренируетесь Mdl используя образцы данных, содержащиеся в таблице, затем входные данные для edge также должен находиться в таблице.

Имя переменной ответа, указанное как имя переменной в Tbl. Если Tbl содержит переменную ответа, используемую для обучения Mdl, то указывать не нужно ResponseVarName.

При указании ResponseVarName, то необходимо указать его как вектор символа или скаляр строки. Например, если переменная ответа сохранена как Tbl.Y, затем укажите ResponseVarName как 'Y'. В противном случае программа обрабатывает все столбцы Tbl, в том числе Tbl.Y, как предикторы.

Переменная ответа должна быть категориальным, символьным или строковым массивом; логический или числовой вектор; или массив ячеек символьных векторов. Если ответная переменная является символьным массивом, то каждый элемент должен соответствовать одной строке массива.

Типы данных: char | string

Веса наблюдения, указанные как числовой вектор или имя переменной в Tbl.

  • Если weights является числовым вектором, то размер weights должно быть равно количеству строк в X или Tbl.

  • Если weights - имя переменной в Tbl, необходимо указать weights в виде вектора символов или строкового скаляра. Например, если веса сохранены как Tbl.W, затем укажите weights как 'W'. В противном случае программа обрабатывает все столбцы Tbl, в том числе Tbl.W, как предикторы.

При поставке весов edge вычисляет границу взвешенной классификации. Программа взвешивает наблюдения в каждой строке X или Tbl с соответствующими весами в weights.

edge нормализует weights для суммирования значения предшествующей вероятности в соответствующем классе.

Типы данных: single | double | char | string

Выходные аргументы

свернуть все

Край классификации, возвращаемый как числовой скаляр.

Подробнее

свернуть все

Край классификации

Край классификации - это средневзвешенное значение полей классификации.

Один из способов выбора из нескольких классификаторов, например, выбор элемента, - выбор классификатора, который дает наибольший край.

Маржа классификации

Поле классификации для двоичной классификации является для каждого наблюдения разницей между оценкой классификации для истинного класса и оценкой классификации для ложного класса.

Программа определяет поле классификации для двоичной классификации как

m = 2yf (x).

x - это наблюдение. Если истинная метка x является положительным классом, то y равно 1, а в противном случае -1. f (x) - показатель классификации положительного класса для наблюдения x. Обычно запас классификации определяется как m = yf (x).

Если поля находятся в одной шкале, то они служат мерой достоверности классификации. Среди нескольких классификаторов лучше те, которые дают большую маржу.

Оценка классификации

Для моделей классификации ядра необработанный показатель классификации для классификации наблюдения x, вектора строки, в положительный класс определяется как

f (x) = T (x) β + b.

  • T (·) - это преобразование наблюдения для расширения признаков.

  • β - оцененный вектор-столбец коэффициентов.

  • b - оценочное скалярное смещение.

Необработанная оценка классификации для классификации x в отрицательный класс равна f (x). Программа классифицирует наблюдения в класс, который дает положительную оценку.

Если модель классификации ядра состоит из учеников логистической регрессии, то программное обеспечение применяет 'logit' преобразование баллов в необработанные оценки классификации (см. ScoreTransform).

Расширенные возможности

Представлен в R2017b