kfoldMargin

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

Синтаксис

Описание

пример

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