exponenta event banner

kfoldEdge

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

Описание

пример

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

edge = kfoldEdge(CVMdl,Name,Value) возвращает край классификации с дополнительными параметрами, заданными одним или несколькими аргументами пары имя-значение. Например, укажите количество складок или уровень агрегации.

Примеры

свернуть все

Загрузить 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'.

Оценка перекрестно проверенного края классификации.

edge = kfoldEdge(CVMdl)
edge = 1.5585

Кроме того, можно получить кромки по складке, указав пару имя-значение. 'Mode','individual' в kfoldEdge.

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

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

load ionosphere

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

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

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

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

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

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

fullEdge = kfoldEdge(CVMdl)
fullEdge = 1.5142
partEdge = kfoldEdge(PCVMdl)
partEdge = 1.8910

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

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

свернуть все

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

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

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: kfoldEdge(CVMdl,'Mode','individual') возвращает классификационное ребро для каждой гибки.

Индексы складки для прогнозирования, указанные как пара, разделенная запятыми, состоящая из 'Folds' и числовой вектор положительных целых чисел. Элементы Folds должно находиться в диапазоне от 1 кому CVMdl.KFold.

Программное обеспечение использует только складки, указанные в Folds для прогнозирования.

Пример: 'Folds',[1 4 10]

Типы данных: single | double

Уровень агрегации для вывода, указанный как пара, разделенная запятыми, состоящая из 'Mode' и 'average' или 'individual'.

В этой таблице описываются значения.

СтоимостьОписание
'average'Вывод является скалярным средним по всем складкам.
'individual'Выходной сигнал представляет собой вектор длины k, содержащий одно значение на единицу, где k - количество сгибов.

Пример: 'Mode','individual'

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

свернуть все

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

Если Mode является 'average', то edge - средний край классификации по всем складкам. В противном случае edge является вектором числового столбца k-by-1, содержащим классификационное ребро для каждой складки, где k - количество складок.

Подробнее

свернуть все

Край классификации

Край классификации - это средневзвешенное значение полей классификации.

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

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

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

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

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