Класс: ClassificationNaiveBayes
Ребро классификации для наивных классификаторов Байеса перезаменой
возвращает ребро классификации перезамены (e
= resubEdge(Mdl
)e
) для наивного классификатора Байеса Mdl
использование обучающих данных сохранено в Mdl.X
и соответствующие метки класса сохранены в Mdl.Y
.
Mdl
— Полностью обученный наивный классификатор БайесаClassificationNaiveBayes
модельПолностью обученный наивный классификатор Байеса, заданный как ClassificationNaiveBayes
модель обучена fitcnb
.
e
— Ребро классификацииРебро классификации, возвращенное как скаляр. Если вы передали в весах когда обучение классификатор, то e
взвешенное ребро классификации. Программное обеспечение нормирует веса так, чтобы они суммировали к априорной вероятности их соответствующего класса.
Загрузите ирисовый набор данных Фишера.
load fisheriris X = meas; % Predictors Y = species; % Response rng(1);
Обучите наивный классификатор Байеса. Это - хорошая практика, чтобы задать порядок класса. Примите, что каждый предиктор условно, нормально распределен, учитывая свою метку.
Mdl = fitcnb(X,Y,'ClassNames',{'setosa','versicolor','virginica'});
Mdl
обученный ClassificationNaiveBayes
классификатор.
Оцените ребро перезамены.
e = resubEdge(Mdl)
e = 0.8944
Средним значением учебных демонстрационных полей является приблизительно 0.9
, который указывает, что классификатор классифицирует наблюдения в выборке с высокой уверенностью.
Ребро классификатора измеряет среднее значение полей классификатора. Один способ выполнить выбор признаков состоит в том, чтобы сравнить учебные демонстрационные ребра от многоуровневых моделей. Базирующийся только на этом критерии, классификатор с самым высоким ребром является лучшим классификатором.
Загрузите ирисовый набор данных Фишера. Задайте два набора данных:
fullX
содержит все предикторы.
partX
содержит последние два предиктора.
load fisheriris X = meas; % Predictors Y = species; % Response fullX = X; partX = X(:,3:4);
Обучите наивные классификаторы Байеса каждому набору предиктора.
FullMdl = fitcnb(fullX,Y); PartMdl = fitcnb(partX,Y);
Оцените учебное демонстрационное ребро для каждого классификатора.
fullEdge = resubEdge(FullMdl)
fullEdge = 0.8944
partEdge = resubEdge(PartMdl)
partEdge = 0.9169
Ребро для классификатора, обученного на предикторах 3 и 4, больше, предполагая, что классификатор обучил использование, только те предикторы имеют лучшую подгонку в выборке.
classification edge является взвешенным средним полей классификации.
Если вы предоставляете веса, то программное обеспечение нормирует их, чтобы суммировать к априорной вероятности их соответствующего класса. Программное обеспечение использует нормированные веса, чтобы вычислить взвешенное среднее.
Один способ выбрать среди нескольких классификаторов, например, выполнить выбор признаков, состоит в том, чтобы выбрать классификатор, который дает к самому высокому ребру.
classification margins, для каждого наблюдения, различия между счетом к истинному классу и максимальным счетом к ложным классам. При условии, что они находятся по той же шкале, поля служат мерой по уверенности классификации, т.е. среди нескольких классификаторов, те, которые уступают, большие поля лучше.
posterior probability является вероятностью, что наблюдение принадлежит конкретного класса, учитывая данные.
Для наивного Бейеса апостериорная вероятность, что классификацией является k для данного наблюдения (x 1..., xP)
где:
условная объединенная плотность предикторов, учитывая, они находятся в классе k. Mdl.DistributionNames
хранит имена распределения предикторов.
π (Y = k) является распределением априорной вероятности класса. Mdl.Prior
хранит предшествующее распределение.
объединенная плотность предикторов. Классы дискретны, таким образом,
prior probability класса является относительной частотой, которой верят, с которой наблюдения от того класса происходят в населении.
Наивный Байесов score является апостериорной вероятностью класса, учитывая наблюдение.
ClassificationNaiveBayes
| CompactClassificationNaiveBayes
| edge
| fitcnb
| loss
| margin
| predict
| resubEdge
| resubLoss
| resubLoss
| resubMargin
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.