Класс ClassificationDiscriminant

Суперклассы: CompactClassificationDiscriminant

Классификация дискриминантных анализов

Описание

Объект ClassificationDiscriminant инкапсулирует классификатор дискриминантного анализа, который является Гауссовой моделью смеси для генерации данных. Объект ClassificationDiscriminant может предсказать ответы для новых данных с помощью метода predict. Объект содержит данные, используемые для обучения, так может вычислить прогнозы перезамены.

Конструкция

Создайте объект ClassificationDiscriminant при помощи fitcdiscr.

Свойства

BetweenSigma

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

CategoricalPredictors

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

ClassNames

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

Coeffs

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

  • DiscrimType

  • Class1ClassNames (i)

  • Class2ClassNames (j)

  • Const — Скаляр

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

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

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

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

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

Если fitcdiscr установили пару "имя-значение" FillCoeffs на 'off' при построении классификатора, Coeffs пуст ([]).

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

HyperparameterOptimizationResults

Описание оптимизации перекрестной проверки гиперпараметров, сохраненных как объект BayesianOptimization или таблица гиперпараметров и присваиваемых значений. Непустой, когда пара "имя-значение" OptimizeHyperparameters непуста при создании. Значение зависит от установки пары "имя-значение" HyperparameterOptimizationOptions при создании:

  • 'bayesopt' (значение по умолчанию) — Объект класса BayesianOptimization

  • 'gridsearch' или 'randomsearch' — Таблица гиперпараметров используемые, наблюдаемые значения целевой функции (потеря перекрестной проверки), и ранг наблюдений от самого низкого (лучше всего) к (худшему) самому высокому

LogDetSigma

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

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

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

MinGamma

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

ModelParameters

Параметры используются в учебном obj.

Mu

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

NumObservations

Количество наблюдений в данных тренировки, числовом скаляре. NumObservations может быть меньше, чем количество строк входных данных X, когда существуют отсутствующие значения в X или ответе Y.

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-by-p, где p является количеством предикторов

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

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

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

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

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

W

Масштабированный weights, вектор с длиной n, количество строк в X.

X

Матрица значений предиктора. Каждый столбец X представляет один предиктор (переменная), и каждая строка представляет одно наблюдение.

Xcentered

Данные X с вычтенными средними значениями класса. Если Y(i) имеет класс j,

Xcentered(i,:) = X(i,:)Mu(j,:),

где Mu является средним свойством класса.

Y

Категориальный массив, массив ячеек из символьных векторов, символьный массив, логический вектор или числовой вектор с одинаковым числом строк как X. Каждая строка Y представляет классификацию соответствующей строки X.

Методы

компактныйКомпактный классификатор дискриминантного анализа
crossvalПерекрестный подтвержденный классификатор дискриминантного анализа
cvshrinkПерекрестный подтвердите регуляризацию линейного дискриминанта
resubEdgeРебро классификации перезаменой
resubLossОшибка классификации перезаменой
resubMarginПоля классификации перезаменой
resubPredictПредскажите метки перезамены модели классификации дискриминантных анализов

Унаследованные методы

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

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

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

Примеры

свернуть все

Загрузите ирисовый набор данных Фишера.

load fisheriris

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

Mdl = fitcdiscr(meas,species)
Mdl = 
  ClassificationDiscriminant
             ResponseName: 'Y'
    CategoricalPredictors: []
               ClassNames: {'setosa'  'versicolor'  'virginica'}
           ScoreTransform: 'none'
          NumObservations: 150
              DiscrimType: 'linear'
                       Mu: [3x4 double]
                   Coeffs: [3x3 struct]


  Properties, Methods

Mdl является моделью ClassificationDiscriminant. Чтобы получить доступ к ее свойствам, используйте запись через точку. Например, отобразите средние значения группы для каждого предиктора.

Mdl.Mu
ans = 3×4

    5.0060    3.4280    1.4620    0.2460
    5.9360    2.7700    4.2600    1.3260
    6.5880    2.9740    5.5520    2.0260

Чтобы предсказать метки для новых наблюдений, передайте Mdl и данные о предикторе к predict.

Больше о

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

Ссылки

[1] Го, Y., Т. Хэсти и Р. Тибширэни. Упорядоченный линейный дискриминантный анализ и его приложение в микромассивах. Биостатистика, Издание 8, № 1, стр 86–100, 2007.

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

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