Потеря классификации перезамены для наивного классификатора Байеса
возвращает Ущерб Классификации от перезамены (L = resubLoss(Mdl)L) или потеря классификации в выборке, для наивного классификатора Байеса Mdl использование обучающих данных сохранено в Mdl.X и соответствующие метки класса сохранены в Mdl.Y.
Потеря классификации (L) обобщение или качественная мера по перезамене. Его интерпретация зависит от схемы взвешивания и функции потерь; в целом лучшие классификаторы дают к меньшим значениям классификации потерь.
Определите ошибку классификации в выборке (потеря перезамены) наивного классификатора Байеса. В общем случае меньшая потеря указывает на лучший классификатор.
Загрузите fisheriris набор данных. Создайте X как числовая матрица, которая содержит четыре лепестковых измерения для 150 ирисовых диафрагм. Создайте Y как массив ячеек из символьных векторов, который содержит соответствующие ирисовые разновидности.
load fisheriris
X = meas;
Y = species;Обучите наивный классификатор Байеса с помощью предикторов X и класс маркирует Y. Методические рекомендации должны задать имена классов. fitcnb принимает, что каждый предиктор условно и нормально распределен.
Mdl = fitcnb(X,Y,'ClassNames',{'setosa','versicolor','virginica'})
Mdl =
ClassificationNaiveBayes
ResponseName: 'Y'
CategoricalPredictors: []
ClassNames: {'setosa' 'versicolor' 'virginica'}
ScoreTransform: 'none'
NumObservations: 150
DistributionNames: {'normal' 'normal' 'normal' 'normal'}
DistributionParameters: {3x4 cell}
Properties, Methods
Mdl обученный ClassificationNaiveBayes классификатор.
Оцените ошибку классификации в выборке.
L = resubLoss(Mdl)
L = 0.0400
Наивный классификатор Байеса неправильно классифицирует 4% учебных наблюдений.
Загрузите fisheriris набор данных. Создайте X как числовая матрица, которая содержит четыре лепестковых измерения для 150 ирисовых диафрагм. Создайте Y как массив ячеек из символьных векторов, который содержит соответствующие ирисовые разновидности.
load fisheriris
X = meas;
Y = species;Обучите наивный классификатор Байеса с помощью предикторов X и класс маркирует Y. Методические рекомендации должны задать имена классов. fitcnb принимает, что каждый предиктор условно и нормально распределен.
Mdl = fitcnb(X,Y,'ClassNames',{'setosa','versicolor','virginica'});
Mdl обученный ClassificationNaiveBayes классификатор.
Оцените потерю перезамены логита.
L = resubLoss(Mdl,'LossFun','logit')
L = 0.3310
Средняя потеря логита в выборке - приблизительно 0,33.
Mdl — Полный, обученный наивный классификатор БайесаClassificationNaiveBayes модельПолный, обученный наивный классификатор Байеса в виде ClassificationNaiveBayes модель, обученная fitcnb.
LossFun — Функция потерь'classiferror' (значение по умолчанию) | 'binodeviance' | 'exponential' | 'hinge' | 'logit' | 'mincost' | 'quadratic' | указатель на функциюФункция потерь в виде встроенного имени функции потерь или указателя на функцию.
В следующей таблице перечислены доступные функции потерь. Задайте тот с помощью его соответствующего вектора символов или строкового скаляра.
| Значение | Описание |
|---|---|
'binodeviance' | Биномиальное отклонение |
'classiferror' | Ошибка классификации |
'exponential' | Экспоненциал |
'hinge' | Стержень |
'logit' | Логистический |
'mincost' | Минимальный ожидал стоимость misclassification (для классификационных оценок, которые являются апостериорными вероятностями), |
'quadratic' | Квадратичный |
'mincost' подходит для классификационных оценок, которые являются апостериорными вероятностями. Наивные модели Bayes возвращают апостериорные вероятности как классификационные оценки по умолчанию (см. predict).
Задайте свою собственную функцию с помощью обозначения указателя на функцию.
Предположим тот n количество наблюдений в X и K количество отличных классов (numel(Mdl.ClassNames), где Mdl входная модель). Ваша функция должна иметь эту подпись
lossvalue = lossfun(C,S,W,Cost)Выходной аргумент lossvalue скаляр.
Вы задаете имя функции (lossfun).
C n- K логическая матрица со строками, указывающими на класс, которому принадлежит соответствующее наблюдение. Порядок следования столбцов соответствует порядку класса в Mdl.ClassNames.
Создайте C установкой C(p,q) = 1 если наблюдение p находится в классе q, для каждой строки. Установите все другие элементы строки p к 0.
S n- K числовая матрица классификационных оценок. Порядок следования столбцов соответствует порядку класса в Mdl.ClassNamesS матрица классификационных оценок, похожих на выход predict.
W n- 1 числовой вектор из весов наблюдения. Если вы передаете W, программное обеспечение нормирует веса, чтобы суммировать к 1.
Cost K- K числовая матрица затрат misclassification. Например, Cost = ones(K) - eye(K) задает стоимость 0 для правильной классификации и 1 для misclassification.
Задайте свое использование функции 'LossFun', @.lossfun
Для получения дополнительной информации о функциях потерь смотрите Потерю Классификации.
Типы данных: char | string | function_handle
Функции Classification loss измеряют прогнозирующую погрешность моделей классификации. Когда вы сравниваете тот же тип потери среди многих моделей, более низкая потеря указывает на лучшую прогнозную модель.
Рассмотрите следующий сценарий.
L является средневзвешенной потерей классификации.
n является объемом выборки.
Для бинарной классификации:
yj является наблюдаемой меткой класса. Программные коды это как –1 или 1, указывая на отрицательный или положительный класс, соответственно.
f (Xj) является необработанной классификационной оценкой для наблюдения (строка) j данных о предикторе X.
mj = yj f (Xj) является классификационной оценкой для классификации наблюдения j в класс, соответствующий yj. Положительные значения mj указывают на правильную классификацию и не способствуют очень средней потере. Отрицательные величины mj указывают на неправильную классификацию и значительно способствуют средней потере.
Для алгоритмов, которые поддерживают классификацию мультиклассов (то есть, K ≥ 3):
yj* является вектором из K – 1 нуль, с 1 в положении, соответствующем истинному, наблюдаемому классу yj. Например, если истинный класс второго наблюдения является третьим классом и K = 4, то y 2* = [0 0 1 0] ′. Порядок классов соответствует порядку в ClassNames свойство входной модели.
f (Xj) является длиной вектор K из музыки класса к наблюдению j данных о предикторе X. Порядок баллов соответствует порядку классов в ClassNames свойство входной модели.
mj = yj* ′ f (Xj). Поэтому mj является скалярной классификационной оценкой, которую модель предсказывает для истинного, наблюдаемого класса.
Весом для наблюдения j является wj. Программное обеспечение нормирует веса наблюдения так, чтобы они суммировали к соответствующей предшествующей вероятности класса. Программное обеспечение также нормирует априорные вероятности, таким образом, они суммируют к 1. Поэтому
Учитывая этот сценарий, следующая таблица описывает поддерживаемые функции потерь, которые можно задать при помощи 'LossFun' аргумент пары "имя-значение".
| Функция потерь | Значение LossFun | Уравнение |
|---|---|---|
| Биномиальное отклонение | 'binodeviance' | |
| Экспоненциальная потеря | 'exponential' | |
| Ошибка классификации | 'classiferror' | Ошибка классификации является взвешенной частью неправильно классифицированных наблюдений где метка класса, соответствующая классу с максимальной апостериорной вероятностью. I {x} является функцией индикатора. |
| Потеря стержня | 'hinge' | |
| Потеря логита | 'logit' | |
| Минимальная стоимость | 'mincost' | Программное обеспечение вычисляет взвешенную минимальную стоимость с помощью этой процедуры для наблюдений j = 1..., n.
Взвешенная, средняя, минимальная потеря стоимости |
| Квадратичная потеря | 'quadratic' |
Этот рисунок сравнивает функции потерь (кроме 'mincost') для одного наблюдения по m. Некоторые функции нормированы, чтобы пройти [0,1].

posterior probability является вероятностью, что наблюдение принадлежит конкретного класса, учитывая данные.
Для наивного Бейеса апостериорная вероятность, что классификацией является k для заданного наблюдения (x 1..., xP)
где:
условная объединенная плотность предикторов, учитывая, они находятся в классе k. Mdl.DistributionNames хранит имена распределения предикторов.
π (Y = k) является распределением априорной вероятности класса. Mdl.Prior хранит предшествующее распределение.
объединенная плотность предикторов. Классы дискретны, таким образом,
prior probability класса является принятой относительной частотой, с которой наблюдения от того класса происходят в населении.
ClassificationNaiveBayes | CompactClassificationNaiveBayes | fitcnb | loss | predict | resubPredict
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.