edge

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

Описание

пример

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 -by 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

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

свернуть все

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

Подробнее о

свернуть все

Классификационное ребро

Это classification edge - средневзвешенное значение классификационных полей.

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

Классификационное поле

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

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

m=2yf(x).

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

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

Классификационная оценка

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

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

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

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

  • b - предполагаемое скалярное смещение.

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

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

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

Введенный в R2017b
Для просмотра документации необходимо авторизоваться на сайте