kfoldMargin

Классификационные поля для перекрестно проверенной модели классификации ядра

Синтаксис

Описание

пример

margin = kfoldMargin(CVMdl) возвращает поля классификации, полученные перекрестно проверенной, двоичной моделью ядра (ClassificationPartitionedKernel) CVMdl. Для каждой складки, kfoldMargin вычисляет границы классификации для наблюдений с разбиением на валидации с использованием модели, обученной на наблюдениях с сложением обучения.

Примеры

свернуть все

Загрузите ionosphere набор данных. Этот набор данных имеет 34 предиктора и 351 двоичный ответ для радиолокационных возвратов, которые маркированы как плохие ('b') или хорошо ('g').

load ionosphere

Перекрестная валидация модели классификации двоичных ядер с помощью данных.

CVMdl = fitckernel(X,Y,'Crossval','on')
CVMdl = 
  ClassificationPartitionedKernel
    CrossValidatedModel: 'Kernel'
           ResponseName: 'Y'
        NumObservations: 351
                  KFold: 10
              Partition: [1x1 cvpartition]
             ClassNames: {'b'  'g'}
         ScoreTransform: 'none'


  Properties, Methods

CVMdl является ClassificationPartitionedKernel модель. По умолчанию программное обеспечение реализует 10-кратную перекрестную валидацию. Чтобы задать другое количество складок, используйте 'KFold' аргумент пары "имя-значение" вместо 'Crossval'.

Оцените классификационные поля для валидационных-складных наблюдений.

m = kfoldMargin(CVMdl);
size(m)
ans = 1×2

   351     1

m является вектором 351 на 1. m(j) - классификационный запас для наблюдений j.

Постройте график полей k-fold с помощью boxplot.

boxplot(m,'Labels','All Observations')
title('Distribution of Margins')

Figure contains an axes. The axes with title Distribution of Margins contains 7 objects of type line.

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

Загрузите ionosphere набор данных. Этот набор данных имеет 34 предиктора и 351 двоичный ответ для радиолокационных возвратов, которые помечены как плохие ('b') или хорошо ('g').

load ionosphere

Случайным образом выберите 10% переменных предиктора.

rng(1); % For reproducibility
p = size(X,2); % Number of predictors
idxPart = randsample(p,ceil(0.1*p));

Перекрестная проверка двух двоичных моделей классификации ядра: одна, которая использует все предикторы, и одна, которая использует 10% предикторов.

CVMdl = fitckernel(X,Y,'CrossVal','on');
PCVMdl = fitckernel(X(:,idxPart),Y,'CrossVal','on');

CVMdl и PCVMdl являются ClassificationPartitionedKernel модели. По умолчанию программное обеспечение реализует 10-кратную перекрестную валидацию. Чтобы задать другое количество складок, используйте 'KFold' аргумент пары "имя-значение" вместо 'Crossval'.

Оцените поля k-складки для каждого классификатора.

fullMargins = kfoldMargin(CVMdl);
partMargins = kfoldMargin(PCVMdl);

Постройте график распределения наборов полей с помощью прямоугольных графиков.

boxplot([fullMargins partMargins], ...
    'Labels',{'All Predictors','10% of the Predictors'});
title('Distribution of Margins')

Figure contains an axes. The axes with title Distribution of Margins contains 14 objects of type line.

Квартили PCVMdl маржинальное распределение расположено выше квартилей CVMdl маржинальное распределение, указывающее, что PCVMdl модель является лучшим классификатором.

Входные параметры

свернуть все

Перекрестно проверенная, двоичная модель классификации ядра, заданная как ClassificationPartitionedKernel объект модели. Можно создать ClassificationPartitionedKernel моделировать при помощи fitckernel и определение любого из аргументов пары "имя-значение" перекрестной проверки.

Чтобы получить оценки, kfoldMargin применяет те же данные, что и для перекрестной проверки модели классификации ядра (X и Y).

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

свернуть все

Классификационные поля, возвращенные как числовой вектор. margin является вектором n -by-1, где каждая строка является полем соответствующего наблюдения и n является количеством наблюдений (size(CVMdl.Y,1)).

Подробнее о

свернуть все

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

Для каждого наблюдения 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).

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