CompactClassificationDiscriminant

Пакет: classreg.learning.classif

Компактный класс дискриминантного анализа

Описание

CompactClassificationDiscriminant объект является компактной версией классификатора дискриминантного анализа. Компактная версия не включает данные для обучения классификатор. Поэтому вы не можете выполнить некоторые задачи с компактным классификатором, такие как перекрестная проверка. Используйте компактный классификатор в том, что он сделал прогнозы (классификации) новых данных.

Конструкция

cobj = compact(obj) создает компактный классификатор из полного классификатора.

cobj = makecdiscr(Mu,Sigma) создает компактный классификатор дискриминантного анализа из средних значений класса Mu и ковариационная матрица Sigma. Для получения дополнительной информации синтаксиса смотрите makecdiscr.

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

obj

Классификатор дискриминантного анализа, созданное использование fitcdiscr.

Свойства

BetweenSigma

p- p матрица, ковариация между классами, где p количество предикторов.

CategoricalPredictors

Категориальные индексы предиктора, который всегда пуст ([]) .

ClassNames

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

Coeffs

k- k структура содействующих матриц, где k количество классов. Coeffs(i,j) содержит коэффициенты линейных или квадратичных контуров между классами i и j. Поля в Coeffs(i,j):

  • DiscrimType

  • Class1ClassNames(i)

  • Class2ClassNames(j)

  • Const — Скаляр

  • Linear — Вектор с p компоненты, где p количество столбцов в X

  • Quadratic P- p матрица, существует для квадратичного DiscrimType

Уравнение контура между классом i и класс j

Const + Linear X + x' * Quadratic X= 0 ,

где x вектор-столбец длины p.

Если fitcdiscr имел FillCoeffs набор пары "имя-значение" к 'off' при построении классификатора, Coeffs isempty).

Cost

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

Измените Cost матрица с помощью записи через точку: obj.Cost = costMatrix.

Delta

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

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

Измените Delta использование записи через точку: obj.Delta = newDelta.

DeltaPredictor

Вектор-строка из длины равняется количеству предикторов в obj. Если   DeltaPredictor(i) < Delta затем коэффициент i из модели 0.

Если obj квадратичная дискриминантная модель, все элементы DeltaPredictor 0.

DiscrimType

Вектор символов, задающий дискриминантный тип. Один из:

  • 'linear'

  • 'quadratic'

  • 'diagLinear'

  • 'diagQuadratic'

  • 'pseudoLinear'

  • 'pseudoQuadratic'

Измените DiscrimType использование записи через точку: obj.DiscrimType = newDiscrimType.

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

Gamma

Значение Гамма параметра регуляризации, скаляра от 0 к 1. Измените Gamma использование записи через точку: obj.Gamma = newGamma.

  • Если вы устанавливаете 1 для линейного дискриминанта дискриминант устанавливает свой тип на 'diagLinear'.

  • Если вы устанавливаете значение между MinGamma и 1 для линейного дискриминанта дискриминант устанавливает свой тип на 'linear'.

  • Вы не можете установить значения ниже значения MinGamma свойство.

  • Для квадратичного дискриминанта можно установить любой 0 (для DiscrimType 'quadratic') или 1 (для DiscrimType 'diagQuadratic').

LogDetSigma

Логарифм определителя ковариационной матрицы в классе. Тип LogDetSigma зависит от дискриминантного типа:

  • Скаляр для линейного дискриминантного анализа

  • Вектор длины K для квадратичного дискриминантного анализа, где K количество классов

MinGamma

Неотрицательный скаляр, минимальное значение Гамма параметра так, чтобы корреляционная матрица была обратимой. Если корреляционная матрица не сингулярна, MinGamma 0.

Mu

Средние значения класса, заданные как K- p матрица средних значений класса скалярных значений размера. K количество классов и p количество предикторов. Каждая строка Mu представляет среднее значение многомерного нормального распределения соответствующего класса. Индексы класса находятся в ClassNames атрибут.

PredictorNames

Массив ячеек имен для переменных предикторов, в порядке, в котором они появляются в обучающих данных X.

Prior

Числовой вектор априорных вероятностей для каждого класса. Порядок элементов Prior соответствует порядку классов в ClassNames.

Добавьте или измените Prior вектор с помощью записи через точку: obj.Prior = priorVector.

ResponseName

Вектор символов, описывающий переменную отклика Y.

ScoreTransform

Вектор символов, представляющий встроенную функцию преобразования или указатель на функцию для преобразования баллов. 'none' средние значения никакое преобразование; эквивалентно, 'none' средние значения @(x)x. Для списка встроенных функций преобразования и синтаксиса пользовательских функций преобразования, смотрите fitcdiscr.

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

  • cobj. ScoreTransform = 'function'

  • cobj. ScoreTransform = @function

Sigma

Ковариационная матрица в классе или матрицы. Размерности зависят от DiscrimType:

  • 'linear' (значение по умолчанию) — Матрица размера p- p, где p количество предикторов

  • 'quadratic' — Массив размера p- p- K, где K количество классов

  • 'diagLinear' — Вектор-строка из длины p

  • 'diagQuadratic' — Массив размера 1- p- K

  • 'pseudoLinear' — Матрица размера p- p

  • 'pseudoQuadratic' — Массив размера p- p- K

Методы

реброРебро классификации
logPРегистрируйте безусловную плотность вероятности для классификатора дискриминантного анализа
потеряОшибка классификации
mahalРасстояние Mahalanobis до средних значений класса
полеПоля классификации
nLinearCoeffsКоличество ненулевых линейных коэффициентов
предсказатьПредскажите метки с помощью модели классификации дискриминантных анализов

Копировать семантику

Значение. Чтобы изучить, как классы значения влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

свернуть все

Загрузите выборочные данные.

load fisheriris

Создайте классификатор дискриминантного анализа для выборочных данных.

fullobj = fitcdiscr(meas,species);

Создайте компактный классификатор дискриминантного анализа и сравните его размер с тем из полного классификатора.

cobj = compact(fullobj);
b = whos('fullobj'); % b.bytes = size of fullobj
c = whos('cobj'); % c.bytes = size of cobj
[b.bytes c.bytes] % shows cobj uses 60% of the memory
ans = 1×2

       18811       12174

Компактный классификатор меньше, чем полный классификатор.

Создайте компактный классификатор дискриминантного анализа из средних значений и ковариаций ирисовых данных Фишера.

load fisheriris
mu(1,:) = mean(meas(1:50,:));
mu(2,:) = mean(meas(51:100,:));
mu(3,:) = mean(meas(101:150,:));

mm1 = repmat(mu(1,:),50,1);
mm2 = repmat(mu(2,:),50,1);
mm3 = repmat(mu(3,:),50,1);
cc = meas;
cc(1:50,:) = cc(1:50,:) - mm1;
cc(51:100,:) = cc(51:100,:) - mm2;
cc(101:150,:) = cc(101:150,:) - mm3;
sigstar = cc' * cc / 147;
cpct = makecdiscr(mu,sigstar,...
    'ClassNames',{'setosa','versicolor','virginica'});

Больше о

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

Расширенные возможности

Представленный в R2011b