Поля классификации для наивного классификатора Байеса
возвращает поле классификации (m = margin(Mdl,tbl,ResponseVarName)m) для обученного наивного классификатора Байеса Mdl использование данных предиктора в таблице tbl и метки классов в tbl.ResponseVarName.
возвращает значения полей классификации для m = margin(Mdl,X,Y)Mdl использование данных предиктора в матрице X и метки классов в Y.
m возвращается в виде числового вектора с той же длиной, что и Y. Программное обеспечение оценивает каждую запись m использование обученного наивного классификатора Байеса Mdl, соответствующая строка Xи метка истинного класса Y.
Оценка полей классификации тестовых образцов наивного классификатора Байеса. Запас наблюдения - это наблюдаемый балл истинного класса минус максимальный балл ложного класса среди всех баллов соответствующего класса.
Загрузить fisheriris набор данных. Создать X в виде цифровой матрицы, которая содержит четыре измерения лепестка для 150 ирисов. Создать Y как клеточный массив характерных векторов, который содержит соответствующие виды радужки.
load fisheriris X = meas; Y = species; rng('default') % for reproducibility
Случайное разделение наблюдений на обучающий набор и тестовый набор со стратификацией с использованием информации о классе в Y. Укажите 30% образец хранения для тестирования.
cv = cvpartition(Y,'HoldOut',0.30);Извлеките показатели обучения и тестирования.
trainInds = training(cv); testInds = test(cv);
Укажите наборы данных обучения и тестирования.
XTrain = X(trainInds,:); YTrain = Y(trainInds); XTest = X(testInds,:); YTest = Y(testInds);
Обучить наивный классификатор Байеса с помощью предикторов XTrain и метки классов YTrain. Рекомендуется указывать имена классов. fitcnb предполагает, что каждый предиктор условно и нормально распределен.
Mdl = fitcnb(XTrain,YTrain,'ClassNames',{'setosa','versicolor','virginica'})
Mdl =
ClassificationNaiveBayes
ResponseName: 'Y'
CategoricalPredictors: []
ClassNames: {'setosa' 'versicolor' 'virginica'}
ScoreTransform: 'none'
NumObservations: 105
DistributionNames: {'normal' 'normal' 'normal' 'normal'}
DistributionParameters: {3x4 cell}
Properties, Methods
Mdl является обученным ClassificationNaiveBayes классификатор.
Оцените пределы классификации тестовых образцов.
m = margin(Mdl,XTest,YTest); median(m)
ans = 1.0000
Отображение гистограммы полей классификации тестовых образцов.
histogram(m,length(unique(m)),'Normalization','probability') xlabel('Test Sample Margins') ylabel('Probability') title('Probability Distribution of the Test Sample Margins')

Предпочтительны классификаторы, дающие относительно большую маржу.
Выбор элементов выполняется путем сравнения полей тестовых образцов из нескольких моделей. Исходя исключительно из этого сравнения, классификатор с самыми высокими маржами является лучшей моделью.
Загрузить fisheriris набор данных. Укажите предикторы X и метки классов Y.
load fisheriris X = meas; Y = species; rng('default') % for reproducibility
Случайное разделение наблюдений на обучающий набор и тестовый набор со стратификацией с использованием информации о классе в Y. Укажите 30% образец хранения для тестирования. Partition определяет раздел набора данных.
cv = cvpartition(Y,'Holdout',0.30);Извлеките показатели обучения и тестирования.
trainInds = training(cv); testInds = test(cv);
Укажите наборы данных обучения и тестирования.
XTrain = X(trainInds,:); YTrain = Y(trainInds); XTest = X(testInds,:); YTest = Y(testInds);
Определите два набора данных:
fullX содержит все предикторы.
partX содержит два последних предиктора.
fullX = XTrain; partX = XTrain(:,3:4);
Тренируйте наивный классификатор Байеса для каждого набора предикторов.
fullMdl = fitcnb(fullX,YTrain); partMdl = fitcnb(partX,YTrain);
fullMdl и partMdl обучены ClassificationNaiveBayes классификаторы.
Оценка полей тестовой выборки для каждого классификатора.
fullM = margin(fullMdl,XTest,YTest); median(fullM)
ans = 1.0000
partM = margin(partMdl,XTest(:,3:4),YTest); median(partM)
ans = 1.0000
Отображение распределения полей для каждой модели с помощью коробчатых графиков.
boxplot([fullM partM],'Labels',{'All Predictors','Two Predictors'}) ylim([0.98 1.01]) % Modify the y-axis limits to see the boxes title('Boxplots of Test Sample Margins')

Поля для fullMdl (модель всех предикторов) и partMdl (модель двух предикторов) имеют сходное распределение с одинаковой медианой. partMdl менее сложна, но имеет отклонения.
Mdl - Наивная модель классификации БайесаClassificationNaiveBayes объект модели | CompactClassificationNaiveBayes объект моделиНаивная модель классификации Байеса, указанная как ClassificationNaiveBayes объект модели или CompactClassificationNaiveBayes объект модели, возвращенный fitcnb или compactсоответственно.
tbl - Образцы данныхОбразец данных, используемых для обучения модели, указанный как таблица. Каждая строка tbl соответствует одному наблюдению, и каждый столбец соответствует одной прогнозирующей переменной. tbl должен содержать все предикторы, используемые для обучения Mdl. Многозначные переменные и массивы ячеек, отличные от массивов ячеек символьных векторов, не допускаются. Дополнительно, tbl может содержать дополнительные столбцы для переменной ответа и весов наблюдения.
Если вы тренируетесь Mdl используя образцы данных, содержащиеся в таблице, затем входные данные для margin также должен находиться в таблице.
ResponseVarName - Имя переменной ответаtblИмя переменной ответа, указанное как имя переменной в tbl.
Необходимо указать ResponseVarName в виде вектора символов или строкового скаляра. Например, если переменная ответа y хранится как tbl.y, затем укажите его как 'y'. В противном случае программа обрабатывает все столбцы tbl, в том числе y, как предикторы.
Если tbl содержит переменную ответа, используемую для обучения Mdl, то указывать не нужно ResponseVarName.
Переменная ответа должна быть категориальным, символьным или строковым массивом, логическим или числовым вектором или массивом ячеек символьных векторов. Если ответная переменная является символьным массивом, то каждый элемент должен соответствовать одной строке массива.
Типы данных: char | string
X - Данные предиктораДанные предиктора, заданные как числовая матрица.
Каждая строка X соответствует одному наблюдению (также известному как экземпляр или пример), и каждый столбец соответствует одной переменной (также известной как элемент). Переменные в столбцах X должны быть такими же, как переменные, которые обучали Mdl классификатор.
Длина Y и количество строк X должно быть равным.
Типы данных: double | single
Y - Этикетки классовМетки класса, указанные как категориальный, символьный или строковый массив, логический или числовой вектор или массив ячеек символьных векторов. Y должен иметь тот же тип данных, что и Mdl.ClassNames. (Программа рассматривает строковые массивы как массивы ячеек символьных векторов.)
Длина Y должно быть равно количеству строк tbl или X.
Типы данных: categorical | char | string | logical | single | double | cell
Край классификации - это средневзвешенное значение полей классификации.
Если вы предоставляете веса, то программное обеспечение нормализует их, чтобы суммировать с предыдущей вероятностью их соответствующего класса. Программа использует нормированные веса для вычисления средневзвешенного значения.
При выборе нескольких классификаторов для выполнения задачи, такой как раздел элемента, выберите классификатор, который дает наивысший край.
Поле классификации для каждого наблюдения представляет собой разницу между баллом для истинного класса и максимальным баллом для ложных классов. Маржа обеспечивает показатель достоверности классификации; среди нескольких классификаторов лучше те, которые дают большую маржу (в одной шкале).
Апостериорная вероятность - вероятность того, что наблюдение принадлежит конкретному классу, учитывая данные.
Для наивного Байеса апостериорная вероятность того, что классификация равна k для данного наблюдения (x1,...,xP), равна
k) P (X1,..., XP),
где:
= k) - условная плотность соединения предикторов при условии, что они находятся в классе k.Mdl.DistributionNames сохраняет имена распределения предикторов.
δ (Y = k) - класс, предшествующий распределению вероятности .Mdl.Prior сохраняет предыдущее распределение.
) - совместная плотность предикторов. Классы дискретны, поэтому δ (Y = k).
Предшествующая вероятность класса - предполагаемая относительная частота, с которой наблюдения из этого класса происходят в популяции.
Наивная оценка Байеса - это апостериорная вероятность класса при наблюдении.
Эта функция полностью поддерживает массивы tall. Дополнительные сведения см. в разделе Массивы Tall.
ClassificationNaiveBayes | CompactClassificationNaiveBayes | edge | fitcnb | loss | predict
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.