templateDiscriminant

Шаблон классификатора дискриминантного анализа

Описание

пример

t = templateDiscriminant() возвращает шаблон обучающегося с дискриминантным анализом, подходящий для обучения ансамблей или многоклассовых моделей выходного кода с исправлением ошибок (ECOC).

Если вы задаете шаблон по умолчанию, то во время обучения программное обеспечение использует значения по умолчанию для всех входных параметров.

Задайте t как учащийся в fitcensemble или fitcecoc.

пример

t = templateDiscriminant(Name,Value) создает шаблон с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение".

Для примера можно задать тип дискриминанта или параметр регуляризации.

Если вы отображаете t в Командном окне, затем все опции появляются пустыми ([]), кроме тех, которые вы задаете используя аргументы пары "имя-значение". Во время обучения программное обеспечение использует значения по умолчанию для пустых опций.

Примеры

свернуть все

Создайте шаблон дискриминантного анализа nondefault для использования в fitcensemble.

Загрузите набор данных радужки Фишера.

load fisheriris

Создайте шаблон для псевдолинейного дискриминантного анализа.

t = templateDiscriminant('DiscrimType','pseudoLinear')
t = 
Fit template for classification Discriminant.

    DiscrimType: 'pseudoLinear'
          Gamma: []
          Delta: []
     FillCoeffs: []
     SaveMemory: []
        Version: 1
         Method: 'Discriminant'
           Type: 'classification'

Все свойства объекта шаблона пусты, кроме DiscrimType, Method, и Type. После обучения программа заполняет пустые свойства соответствующими значениями по умолчанию.

Задайте t как слабый ученик классификационного ансамбля.

Mdl = fitcensemble(meas,species,'Method','Subspace','Learners',t);

Отображение ошибки неправильной классификации в выборке (повторная замена).

L = resubLoss(Mdl)
L = 0.0400

Входные параметры

свернуть все

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

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

Пример: 'DiscrimType','pseudoLinear','SaveMemory','on' задает шаблон для псевдолинейного дискриминантного анализа, который не хранит полную ковариационную матрицу.

Линейный порог коэффициента, заданный как разделенная разделенными запятой парами, состоящая из 'Delta' и неотрицательное скалярное значение. Если коэффициент Mdl имеет величину меньше Delta, Mdl устанавливает этот коэффициент равным 0, и можно исключить из модели соответствующий предиктор. Задайте Delta к более высокому значению, чтобы исключить больше предикторов.

Delta должен быть 0 для квадратичных дискриминантных моделей.

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

Дискриминантный тип, заданный как разделенная разделенными запятой парами, состоящая из 'DiscrimType' и вектор символов или строковый скаляр в этой таблице.

ЗначениеОписаниеЛечение Ковариации предиктора
'linear'Регуляризованный линейный дискриминантный анализ (LDA)
  • Все классы имеют одинаковую ковариационную матрицу.

  • Σ^γ=(1γ)Σ^+γdiag(Σ^).

    Σ^ - эмпирическая, объединенная ковариационная матрица, и γ является количеством регуляризации.

'diaglinear'LDAВсе классы имеют одинаковую диагональную ковариационную матрицу.
'pseudolinear'LDAВсе классы имеют одинаковую ковариационную матрицу. Программа инвертирует ковариационную матрицу, используя псевдоанверс.
'quadratic'Квадратичный дискриминантный анализ (QDA)Ковариационные матрицы могут варьироваться среди классов.
'diagquadratic'QDAКовариационные матрицы диагональны и могут варьироваться среди классов.
'pseudoquadratic'QDAКовариационные матрицы могут варьироваться среди классов. Программа инвертирует ковариационную матрицу, используя псевдоанверс.

Примечание

Чтобы использовать регуляризацию, необходимо задать 'linear'. Чтобы задать количество регуляризации, используйте Gamma аргумент пары "имя-значение".

Пример: 'DiscrimType','quadratic'

Coeffs флаг свойства, заданный как разделенная разделенными запятой парами, состоящая из 'FillCoeffs' и 'on' или 'off'. Установка флага на 'on' заполняет Coeffs свойство в объекте классификатора. Это может быть интенсивным в вычислительном отношении, особенно при перекрестной проверке. Значение по умолчанию является 'on', если вы не задаете пару "имя-значение" перекрестной проверки, в этом случае флаг устанавливается на 'off' по умолчанию.

Пример: 'FillCoeffs','off'

Количество регуляризации для применения при оценке ковариационной матрицы предикторов, заданное как разделенная разделенными запятой парами, состоящая из 'Gamma' и скалярное значение в интервале [0,1]. Gamma обеспечивает более мелкий контроль над ковариацией матрицы, чем DiscrimType.

  • Если вы задаете 0, тогда программное обеспечение не использует регуляризацию, чтобы настроить ковариационную матрицу. То есть программное обеспечение оценивает и использует неограниченную, эмпирическую ковариационную матрицу.

    • Для линейного дискриминантного анализа, если эмпирическая ковариационная матрица сингулярна, то программное обеспечение автоматически применяет минимальную регуляризацию, необходимую для инвертирования ковариационной матрицы. Выбранную сумму регуляризации можно просмотреть путем ввода Mdl.Gamma в командной строке.

    • Для квадратичного дискриминантного анализа, если по крайней мере один класс имеет эмпирическую ковариационную матрицу, которая сингулярна, то программа выдает ошибку.

  • Если вы задаете значение в интервале (0,1), то необходимо реализовать линейный дискриминантный анализ, в противном случае программа выдает ошибку. Следовательно, программное обеспечение устанавливает DiscrimType на 'linear'.

  • Если вы задаете 1затем программное обеспечение использует максимальную регуляризацию для ковариации матрицы. То есть программное обеспечение ограничивает матрицу ковариации диагональю. Также можно задать DiscrimType на 'diagLinear' или 'diagQuadratic' для диагональных ковариационных матриц.

Пример: 'Gamma',1

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

Флаг для сохранения ковариационной матрицы, заданный как разделенная разделенными запятой парами, состоящая из 'SaveMemory' и любой из них 'on' или 'off'. Если вы задаете 'on', затем fitcdiscr не хранит полную ковариационную матрицу, но вместо этого хранит достаточно информации для вычисления матрицы. The predict метод вычисляет полную ковариационную матрицу для предсказания и не хранит матрицу. Если вы задаете 'off', затем fitcdiscr вычисляет и хранит полную ковариационную матрицу в Mdl.

Задайте SaveMemory как 'on' когда матрица входа содержит тысячи предикторов.

Пример: 'SaveMemory','on'

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

свернуть все

Шаблон классификации дискриминантного анализа, подходящий для обучения ансамблей или многоклассовых моделей выходного кода с исправлением ошибок (ECOC), возвращенный как объект шаблона. Передайте t кому fitcensemble или fitcecoc для определения способа создания классификатора дискриминантного анализа для модели ансамбля или ECOC, соответственно.

Если вы отображаете t в Командное окно, затем все неустановленные опции появляются пустыми ([]). Однако во время обучения программа заменяет пустые опции соответствующими значениями по умолчанию.

Введенный в R2014a