predict
использование три количества, чтобы классифицировать наблюдения: апостериорная вероятность, априорная вероятность и стоимость.
predict
классифицирует, чтобы минимизировать ожидаемую стоимость классификации:
где
предсказанная классификация.
K является количеством классов.
апостериорная вероятность класса k для наблюдения x.
стоимость классификации наблюдения как y, когда его истинным классом является k.
Пробел X
значения делятся на области где классификация Y
особое значение. Области разделяются прямыми линиями для линейного дискриминантного анализа, и коническими секциями (замещающие знаки, гиперболы или параболы) для квадратичного дискриминантного анализа. Для визуализации этих областей смотрите, Создают и Визуализируют Классификатор Дискриминантного анализа.
Апостериорная вероятность, что точка x принадлежит, чтобы классифицировать k, является продуктом априорной вероятности и многомерной нормальной плотности. Функция плотности многомерного нормального с 1 d означает, что μk и d-by-d ковариация Σk в 1 d указывают, что x
где определитель Σk, и обратная матрица.
Позволенный P (k) представляют априорную вероятность класса k. Затем апостериорная вероятность, что наблюдение x имеет класс k,
где 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 стоятся на наблюдение.
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
- K
когда существует K
классы. Вы не должны переобучать классификатор, когда вы устанавливаете новую стоимость.
Предположим, что у вас есть Nobs
наблюдения, что вы хотите классифицировать с обученным классификатором дискриминантного анализа obj
. Предположим, что у вас есть K
классы. Вы помещаете наблюдения в матричный Xnew
с одним наблюдением на строку. Команда
[label,score,cost] = predict(obj,Xnew)
возвращается, среди других выходных параметров, матрицы стоимости размера Nobs
- K
. Каждая строка матрицы стоимости содержит ожидаемую (среднюю) стоимость классификации наблюдения в каждый K
классы. cost(n,k)
где
K является количеством классов.
апостериорная вероятность класса i для наблюдения Xnew (n).
стоимость классификации наблюдения как k, когда его истинным классом является i.