Класс: ClassificationNaiveBayes
Перекрестный подтвержденный наивный классификатор Байеса
CVMdl = crossval(Mdl)CVMdl = crossval(Mdl,Name,Value) возвращает разделенный наивный классификатор Байеса с дополнительными опциями, заданными одним или несколькими аргументами пары CVMdl = crossval(Mdl,Name,Value)Name,Value.
Например, можно задать демонстрационную пропорцию затяжки.
Mdl — Полностью обученный наивный классификатор БайесаClassificationNaiveBayesПолностью обученный наивный классификатор Байеса, заданный как модель ClassificationNaiveBayes, обученная fitcnb.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (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' — Количество сгибов10 (значение по умолчанию) | положительное целочисленное значение, больше, чем 1Количество сгибов, чтобы использовать в перекрестной подтвержденной модели, заданной как пара, разделенная запятой, состоящая из 'KFold' и положительного целочисленного значения, больше, чем 1. Если вы задаете 'KFold',k, то программное обеспечение завершает эти шаги:
Случайным образом разделите данные в наборы k.
Для каждого набора зарезервируйте набор как данные о валидации и обучите модель с помощью другого k – 1 набор.
Сохраните k компактные, обученные модели в ячейках k-by-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.
Загрузите набор данных 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
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.