kfoldMargin

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

Синтаксис

margin = kfoldMargin(CVMdl)

Описание

пример

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

Примеры

свернуть все

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

load ionosphere

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

CVMdl = fitckernel(X,Y,'Crossval','on')
CVMdl = 
  classreg.learning.partition.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-сгиба с помощью коробчатой диаграммы.

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

Выполните выбор функции путем сравнения полей 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')

Квартили распределения поля 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