exponenta event banner

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-кратных полей с помощью боксплота.

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)).

Подробнее

свернуть все

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

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

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

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).

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