Класс: ClassificationNaiveBayes
Перекрестный подтвержденный наивный классификатор Байеса
возвращает разделенный наивный классификатор Байеса с дополнительными опциями, заданными одним или несколькими CVMdl
= crossval(Mdl
,Name,Value
)Name,Value
парные аргументы.
Например, можно задать демонстрационную пропорцию затяжки.
Mdl
— Полностью обученный наивный классификатор БайесаClassificationNaiveBayes
модельПолностью обученный наивный классификатор Байеса, заданный как ClassificationNaiveBayes
модель обучена fitcnb
.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'CVPartition'
— Раздел перекрестной проверки[]
(значение по умолчанию) | cvpartition
объект разделаРаздел перекрестной проверки, заданный как разделенная запятой пара, состоящая из 'CVPartition'
и cvpartition
объект раздела создается cvpartition
. Объект раздела задает тип перекрестной проверки и индексации для наборов обучения и валидации.
Чтобы создать перекрестную подтвержденную модель, можно использовать один из этих четырех аргументов пары "имя-значение" только: CVPartition
, Holdout
, KFold
, или Leaveout
.
Пример: Предположим, что вы создаете случайный раздел для 5-кратной перекрестной проверки на 500 наблюдениях при помощи cvp = cvpartition(500,'KFold',5)
. Затем можно задать перекрестную подтвержденную модель при помощи 'CVPartition',cvp
.
'Holdout'
— Часть данных для валидации затяжкиЧасть данных используется в валидации затяжки, заданной как разделенная запятой пара, состоящая из 'Holdout'
и скалярное значение в области значений (0,1). Если вы задаете 'Holdout',p
, затем программное обеспечение завершает эти шаги:
Случайным образом выберите и зарезервируйте p*100
% из данных как данные о валидации, и обучают модель с помощью остальной части данных.
Сохраните компактную, обученную модель в Trained
свойство перекрестной подтвержденной модели.
Чтобы создать перекрестную подтвержденную модель, можно использовать один из этих четырех аргументов пары "имя-значение" только: CVPartition
, Holdout
, KFold
, или Leaveout
.
Пример: 'Holdout',0.1
Типы данных: double |
single
'KFold'
— Количество сгибов
(значение по умолчанию) | положительное целочисленное значение, больше, чем 1Количество сгибов, чтобы использовать в перекрестной подтвержденной модели, заданной как разделенная запятой пара, состоящая из 'KFold'
и положительное целочисленное значение, больше, чем 1. Если вы задаете 'KFold',k
, затем программное обеспечение завершает эти шаги:
Случайным образом разделите данные в k
наборы.
Для каждого набора зарезервируйте набор как данные о валидации и обучите модель с помощью другого k
– 1 набор.
Сохраните k
компактные, обученные модели в ячейках k
- 1 вектор ячейки в Trained
свойство перекрестной подтвержденной модели.
Чтобы создать перекрестную подтвержденную модель, можно использовать один из этих четырех аргументов пары "имя-значение" только: CVPartition
, Holdout
, KFold
, или Leaveout
.
Пример: 'KFold',5
Типы данных: single
| double
'Leaveout'
— Флаг перекрестной проверки "Пропускает один"'off'
(значение по умолчанию) | 'on'
Флаг перекрестной проверки "Пропускает один", заданный как разделенная запятой пара, состоящая из 'Leaveout'
и 'on'
или 'off'
. Если вы задаете 'Leaveout','on'
, затем, для каждого из наблюдений n (где n является количеством наблюдений, исключая недостающие наблюдения, заданные в NumObservations
свойство модели), программное обеспечение завершает эти шаги:
Зарезервируйте наблюдение как данные о валидации и обучите модель с помощью другого n – 1 наблюдение.
Сохраните n компактные, обученные модели в ячейках n-by-1 вектор ячейки в Trained
свойство перекрестной подтвержденной модели.
Чтобы создать перекрестную подтвержденную модель, можно использовать один из этих четырех аргументов пары "имя-значение" только: CVPartition
, Holdout
, KFold
, или Leaveout
.
Пример: 'Leaveout','on'
CVMdl
— Перекрестный подтвержденный наивный классификатор БайесаClassificationPartitionedModel
модельПерекрестный подтвержденный наивный классификатор Байеса, возвращенный как ClassificationPartitionedModel
модель.
crossval
Загрузите ionosphere
набор данных.
load ionosphere X = X(:,3:end); % Remove first two predictors for stability rng(1); % For reproducibility
Обучите наивный классификатор Байеса. Это - хорошая практика, чтобы задать порядок класса. Примите, что каждый предиктор условно, нормально распределен, учитывая свою метку.
Mdl = fitcnb(X,Y,'ClassNames',{'b','g'});
Mdl
обученный ClassificationNaiveBayes
классификатор. 'b'
отрицательный класс и 'g'
положительный класс.
Крест подтверждает классификатор с помощью 10-кратной перекрестной проверки.
CVMdl = crossval(Mdl)
CVMdl = classreg.learning.partition.ClassificationPartitionedModel CrossValidatedModel: 'NaiveBayes' PredictorNames: {1x32 cell} ResponseName: 'Y' NumObservations: 351 KFold: 10 Partition: [1x1 cvpartition] ClassNames: {'b' 'g'} ScoreTransform: 'none' Properties, Methods
FirstModel = CVMdl.Trained{1}
FirstModel = classreg.learning.classif.CompactClassificationNaiveBayes ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' DistributionNames: {1x32 cell} DistributionParameters: {2x32 cell} Properties, Methods
CVMdl
ClassificationPartitionedModel
перекрестный подтвержденный классификатор. Программное обеспечение:
Случайным образом делит данные в 10, одинаково измеренные наборы.
Обучает наивный классификатор Байеса на девяти из наборов.
Шаги 1 и 2 повторений k = 10 раз. Это исключает один раздел каждый раз и обучается на других девяти разделах.
Статистика обобщения объединений для каждого сгиба.
FirstModel
является первым из 10 обученных классификаторов. Это - CompactClassificationNaiveBayes
модель.
Можно оценить ошибку обобщения путем передачи CVMdl
к kfoldLoss
.
По умолчанию, crossval
использует 10-кратную перекрестную проверку, чтобы пересечься, подтверждают наивный классификатор Байеса. У вас есть несколько других опций, таких как определение различного количества сгибов или демонстрационной затяжкой пропорции. В этом примере показано, как задать демонстрационную затяжкой пропорцию.
Загрузите ionosphere
набор данных.
load ionosphere X = X(:,3:end); % Remove first two predictors for stability rng(1); % For reproducibility
Обучите наивный классификатор Байеса. Примите, что каждый предиктор условно, нормально распределен, учитывая свою метку. Это - хорошая практика, чтобы задать порядок класса.
Mdl = fitcnb(X,Y,'ClassNames',{'b','g'});
Mdl
обученный ClassificationNaiveBayes
классификатор. 'b'
отрицательный класс и 'g'
положительный класс.
Крест подтверждает классификатор путем определения 30%-й выборки затяжки.
CVMdl = crossval(Mdl,'Holdout',0.30)
CVMdl = classreg.learning.partition.ClassificationPartitionedModel CrossValidatedModel: 'NaiveBayes' PredictorNames: {1x32 cell} ResponseName: 'Y' NumObservations: 351 KFold: 1 Partition: [1x1 cvpartition] ClassNames: {'b' 'g'} ScoreTransform: 'none' Properties, Methods
TrainedModel = CVMdl.Trained{1}
TrainedModel = classreg.learning.classif.CompactClassificationNaiveBayes ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' DistributionNames: {1x32 cell} DistributionParameters: {2x32 cell} Properties, Methods
CVMdl
ClassificationPartitionedModel
. TrainedModel
CompactClassificationNaiveBayes
классификатор, обученный с помощью 70% данных.
Оцените ошибку обобщения.
kfoldLoss(CVMdl)
ans = 0.2571
misclassification ошибка из выборки составляет приблизительно 2,6%.
Оцените прогнозирующую производительность Mdl
на перекрестных подтвержденных данных с помощью функции “kfold” и свойств CVMdl
, такой как kfoldLoss
.
Вместо того, чтобы создать наивный классификатор Байеса, сопровождаемый классификатором перекрестной проверки, создайте перекрестный подтвержденный классификатор непосредственно с помощью fitcnb
и путем определения любого из этих аргументов пары "имя-значение": 'CrossVal'
, 'CVPartition'
, 'Holdout'
, 'Leaveout'
, или 'KFold'
.
ClassificationNaiveBayes
| ClassificationPartitionedModel
| CompactClassificationNaiveBayes
| fitcnb
| kfoldLoss
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.