kfoldEdge

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

Синтаксис

edge = kfoldEdge(CVMdl)
edge = kfoldEdge(CVMdl,Name,Value)

Описание

пример

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 = 
  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'.

Оцените перекрестное подтвержденное ребро классификации.

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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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 является количеством сгибов.

Больше о

свернуть все

Ребро классификации

classification edge является взвешенным средним classification margins.

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

Поле классификации

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