ClassificationPartitionedKernel

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

Описание

ClassificationPartitionedKernel бинарная модель классификации ядер, обученная на перекрестных подтвержденных сгибах. Можно оценить качество классификации, или как хорошо модель классификации ядер делает вывод, с помощью одной или нескольких функций “kfold”: kfoldPredict, kfoldLoss, kfoldMargin, и kfoldEdge.

Каждые “kfold” модели использования метода, обученные на учебном сгибе, (окутывают) наблюдения, чтобы предсказать ответ для сгиба валидации наблюдения (из сгиба). Например, предположите, что вы перекрестный подтверждаете использование пяти сгибов. В этом случае программное обеспечение случайным образом присваивает каждое наблюдение в пять групп равного размера (примерно). training fold содержит четыре из групп (то есть, примерно 4/5 данных), и validation fold содержит другую группу (то есть, примерно 1/5 данных). В этом случае перекрестная проверка продолжает можно следующим образом:

  1. Программное обеспечение обучает первую модель (сохраненный в CVMdl.Trained{1}) при помощи наблюдений в последних четырех группах и резервах наблюдения в первой группе для валидации.

  2. Программное обеспечение обучает вторую модель (сохраненный в CVMdl.Trained{2}) использование наблюдений в первой группе и последних трех группах. Программное обеспечение резервирует наблюдения во второй группе для валидации.

  3. Программное обеспечение продолжает подобным способом для третьих, четвертых, и пятых моделей.

Если вы подтверждаете при помощи kfoldPredict, программное обеспечение вычисляет прогнозы для наблюдений в группе i при помощи i th модель. Короче говоря, программное обеспечение оценивает ответ для каждого наблюдения при помощи модели, обученной без того наблюдения.

Примечание

ClassificationPartitionedKernel объекты модели не хранят набор данных предиктора.

Создание

Можно создать ClassificationPartitionedKernel модель по образованию модель ядра классификации использование fitckernel и определение одного из этих аргументов пары "имя-значение": 'Crossval', 'CVPartition', 'Holdout', 'KFold', или 'Leaveout'.

Свойства

развернуть все

Свойства перекрестной проверки

Это свойство доступно только для чтения.

Перекрестное подтвержденное имя модели, заданное как вектор символов.

Например, 'Kernel' задает перекрестную подтвержденную модель ядра.

Типы данных: char

Это свойство доступно только для чтения.

Количество перекрестных подтвержденных сгибов, заданных как положительный целочисленный скаляр.

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

Это свойство доступно только для чтения.

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

Можно получить доступ к свойствам ModelParameters использование записи через точку.

Это свойство доступно только для чтения.

Количество наблюдений в обучающих данных, заданных в виде положительного числа.

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

Это свойство доступно только для чтения.

Раздел данных, указывающий, как программное обеспечение разделяет данные в сгибы перекрестной проверки, заданные как cvpartition модель.

Это свойство доступно только для чтения.

Классификаторы ядра обучены на сгибах перекрестной проверки, заданных как массив ячеек ClassificationKernel модели. Trained имеет ячейки k, где k является количеством сгибов.

Типы данных: cell

Это свойство доступно только для чтения.

Веса наблюдения раньше перекрестный подтверждали модель, заданную как числовой вектор. W имеет NumObservations элементы.

Программное обеспечение нормирует веса, используемые в обучении так, чтобы nansum(W) 1.

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

Это свойство доступно только для чтения.

Наблюдаемые метки класса раньше перекрестный подтверждали модель, заданную как категориальное или символьный массив, логический или числовой вектор или массив ячеек из символьных векторов. Y имеет NumObservations элементы и имеют совпадающий тип данных как входной параметр Y то, что вы передаете fitckernel перекрестный подтверждать модель. (Программное обеспечение обрабатывает строковые массивы как массивы ячеек из символьных векторов.)

Каждая строка Y представляет наблюдаемую классификацию соответствующей строки X.

Типы данных: categorical | char | logical | single | double | cell

Другие свойства классификации

Это свойство доступно только для чтения.

Категориальные индексы предиктора, заданные как пустое числовое значение. В общем случае CategoricalPredictors содержит значения индекса, соответствующие столбцам данных о предикторе, которые содержат категориальные предикторы. Поскольку ClassificationKernel модели могут быть обучены на числовых данных о предикторе только, это свойство пусто ([]).

Это свойство доступно только для чтения.

Уникальные метки класса используются в обучении, заданном как категориальное или символьный массив, логический или числовой вектор или массив ячеек из символьных векторов. ClassNames имеет совпадающий тип данных, когда наблюдаемый класс помечает свойство Y и определяет порядок класса.

Типы данных: categorical | char | logical | single | double | cell

Это свойство доступно только для чтения.

Затраты Misclassification, заданные как квадратная числовая матрица. Cost имеет строки и столбцы K, где K является количеством классов.

Cost(i,j) стоимость классификации точки в класс j если его истинным классом является i. Порядок строк и столбцов Cost соответствует порядку классов в ClassNames.

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

Это свойство доступно только для чтения.

Предиктор называет в порядке их внешнего вида в данных о предикторе X, заданный как массив ячеек из символьных векторов формы {'x1','x2',...}. Длина PredictorNames равно количеству столбцов в X.

Типы данных: cell

Это свойство доступно только для чтения.

Предшествующие вероятности класса, заданные как числовой вектор. Prior имеет столько же элементов, сколько существуют классы в ClassNames, и порядок элементов соответствует элементам ClassNames.

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

Это свойство доступно только для чтения.

Имя переменной отклика, заданное как 'Y'. Поскольку ClassificationKernel модели не могут быть обучены на табличных данных, этим свойством всегда является 'Y'.

Типы данных: char

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

Для модели Mdl классификации ядер, и перед преобразованием счета, предсказанным счетом классификации к наблюдению x (вектор-строка) f(x)=T(x)β+b.

  • T(·) преобразование наблюдения для расширения функции.

  • β является предполагаемым вектор-столбцом коэффициентов.

  • b является предполагаемым скалярным смещением.

Изменить CVMdl выиграйте функцию преобразования к function, например, используйте запись через точку.

  • Для встроенной функции введите этот код и замените function со значением из таблицы.

    CVMdl.ScoreTransform = 'function';

    ЗначениеОписание
    'doublelogit'1/(1 + e –2x)
    'invlogit'журнал (x / (1 – x))
    'ismax'Устанавливает счет к классу с самым большим счетом к 1, и устанавливает музыку ко всем другим классам к 0
    'logit'1/(1 + e x)
    'none' или 'identity'x (никакое преобразование)
    'sign'– 1 для x <0
    0 для x = 0
    1 для x> 0
    'symmetric'2x – 1
    'symmetricismax'Устанавливает счет к классу с самым большим счетом к 1, и устанавливает музыку ко всем другим классам к –1
    'symmetriclogit'2/(1 + e x) – 1

  • Для функции MATLAB® или функции, которую вы задаете, введите ее указатель на функцию.

    CVMdl.ScoreTransform = @function;

    function должен принять матрицу исходной музыки к каждому классу, и затем возвратить матричное представление одного размера преобразованной музыки к каждому классу.

Типы данных: char | function_handle

Функции объекта

kfoldEdgeРебро классификации для перекрестной подтвержденной модели классификации ядер
kfoldLossПотеря классификации для перекрестной подтвержденной модели классификации ядер
kfoldMarginПоля классификации для перекрестной подтвержденной модели классификации ядер
kfoldPredictКлассифицируйте наблюдения на перекрестную подтвержденную модель классификации ядер

Примеры

свернуть все

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

load ionosphere
rng('default') % For reproducibility

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

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

numel(CVMdl.Trained)
ans = 10

CVMdl ClassificationPartitionedKernel модель. Поскольку fitckernel реализует 10-кратную перекрестную проверку, CVMdl содержит 10 ClassificationKernel модели, которые программное обеспечение обучает на учебном сгибе (окутывают) наблюдения.

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

kfoldLoss(CVMdl)
ans = 0.0940

Коэффициент ошибок классификации составляет приблизительно 9%.

Смотрите также

|

Введенный в R2018b