Прогноз Используя модели дискриминантного анализа

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

predict классифицирует, чтобы минимизировать ожидаемую стоимость классификации:

y^=аргументminy=1,...,Kk=1KP^(k|x)C(y|k),

где

  • y^ предсказанная классификация.

  • K является количеством классов.

  • P^(k|x) апостериорная вероятность класса k для наблюдения x.

  • C(y|k) стоимость классификации наблюдения как y, когда его истинным классом является k.

Пробел значений X делится на области, где классификация Y является особым значением. Области разделяются прямыми линиями для линейного дискриминантного анализа, и коническими секциями (замещающие знаки, гиперболы или параболы) для квадратичного дискриминантного анализа. Для визуализации этих областей смотрите, Создают и Визуализируют Классификатор Дискриминантного анализа.

Апостериорная вероятность

Апостериорная вероятность, что точка x принадлежит, чтобы классифицировать k, является продуктом априорной вероятности и многомерной нормальной плотности. Функция плотности многомерного нормального со средним μk и ковариацией Σk в точке x

P(x|k)=1(2π|Σk|)1/2exp(12(xμk)TΣk1(xμk)),

где |Σk| детерминант Σk, и Σk1 обратная матрица.

Позволенный P (k) представляют априорную вероятность класса k. Затем апостериорная вероятность, что наблюдение x имеет класс k,

P^(k|x)=P(x|k)P(k)P(x),

где P (x) является постоянной нормализацией, а именно, сумма по k P (x |k) P (k).

Априорная вероятность

Априорная вероятность является одним из трех вариантов:

  • 'uniform' — Априорная вероятность класса k 1 по общему количеству классов.

  • 'empirical' — Априорная вероятность класса k является количеством учебных выборок класса k, разделенный на общее количество учебных выборок.

  • Числовой вектор — априорной вероятностью класса k является j th элемент вектора Prior. Смотрите fitcdiscr.

После создания классификатора obj можно установить предшествующую запись через точку использования:

obj.Prior = v;

где v является вектором положительных элементов, представляющих частоту, с которой происходит каждый элемент. Вы не должны переобучать классификатор, когда вы устанавливаете новое предшествующее.

Стоимость

Существует два затрат, сопоставленные с классификацией дискриминантных анализов: истинная стоимость misclassification в классе и ожидаемый misclassification стоятся на наблюдение.

Истинная стоимость Misclassification в классе

Cost(i,j) является стоимостью классификации наблюдения в класс j, если его истинным классом является i. По умолчанию, Cost(i,j)=1, если i~=j и Cost(i,j)=0, если i=j. Другими словами, стоимостью является 0 для правильной классификации и 1 для неправильной классификации.

Можно установить любую стоимость, матрицируют вас как при создании классификатора. Передайте матрицу стоимости в паре "имя-значение" Cost в fitcdiscr.

После того, как вы создадите классификатор obj, можно установить пользовательскую стоимость с помощью записи через точку:

obj.Cost = B;

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

Ожидаемая стоимость Misclassification на наблюдение

Предположим, что у вас есть наблюдения Nobs, что вы хотите классифицировать с обученным классификатором дискриминантного анализа obj. Предположим, что у вас есть классы K. Вы помещаете наблюдения в матричный Xnew с одним наблюдением на строку. Команда

[label,score,cost] = predict(obj,Xnew)

возвращается, среди других выходных параметров, матрицы стоимости размера Nobs-by-K. Каждая строка матрицы стоимости содержит ожидаемую (среднюю) стоимость классификации наблюдения в каждый из классов K. cost(n,k)

i=1KP^(i|Xnew(n))C(k|i),

где

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

Функции

Объекты

Похожие темы