crossval

Перекрестный подтвержденный k - самый близкий соседний классификатор

Синтаксис

cvmodel = crossval(mdl)
cvmodel = crossval(mdl,Name,Value)

Описание

пример

cvmodel = crossval(mdl) создает перекрестную подтвержденную (разделенную) модель из mdl, подходящую модель классификации KNN. По умолчанию crossval использует 10-кратную перекрестную проверку на данных тренировки, чтобы создать cvmodel, объект ClassificationPartitionedModel.

cvmodel = crossval(mdl,Name,Value) создает разделенную модель с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение". Например, укажите, что 'Leaveout','on' для перекрестной проверки "пропускает один".

Примеры

свернуть все

Создайте перекрестную подтвержденную соседнюю модель k-nearest и оцените производительность классификации с помощью модели.

Загрузите ирисовый набор данных Фишера.

load fisheriris
X = meas;
Y = species;

Создайте классификатор для самых близких соседей.

mdl = fitcknn(X,Y);

Создайте перекрестный подтвержденный классификатор.

cvmdl = crossval(mdl)
cvmdl = 
  classreg.learning.partition.ClassificationPartitionedModel
    CrossValidatedModel: 'KNN'
         PredictorNames: {'x1'  'x2'  'x3'  'x4'}
           ResponseName: 'Y'
        NumObservations: 150
                  KFold: 10
              Partition: [1x1 cvpartition]
             ClassNames: {'setosa'  'versicolor'  'virginica'}
         ScoreTransform: 'none'


  Properties, Methods

Найдите перекрестную подтвержденную потерю классификатора.

cvmdlloss = kfoldLoss(cvmdl)
cvmdlloss = 0.0467

Перекрестная подтвержденная потеря составляет меньше чем 5%. Можно ожидать, что mdl будет иметь подобный коэффициент ошибок.

Входные параметры

свернуть все

k-nearest граничат с моделью классификатора, заданной как объект ClassificationKNN.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: crossval(mdl,'KFold',5) создает разделенную модель с 5-кратной перекрестной проверкой.

Раздел перекрестной проверки, заданный как пара, разделенная запятой, состоящая из 'CVPartition' и объекта cvpartition, создается функцией cvpartition. crossval разделяет данные в подмножества с cvpartition.

Используйте только одну из этих четырех опций за один раз: 'CVPartition', 'Holdout', 'KFold' или 'Leaveout'.

Часть данных используется для валидации затяжки, заданной как пара, разделенная запятой, состоящая из 'Holdout' и скалярного значения в области значений (0,1).

Используйте только одну из этих четырех опций за один раз: 'CVPartition', 'Holdout', 'KFold' или 'Leaveout'.

Пример: 'Holdout',0.3

Типы данных: single | double

Количество сгибов, чтобы использовать в перекрестной подтвержденной модели, заданной как пара, разделенная запятой, состоящая из 'KFold' и положительного целочисленного значения, больше, чем 1.

Используйте только одну из этих четырех опций за один раз: 'CVPartition', 'Holdout', 'KFold' или 'Leaveout'.

Пример: 'KFold',3

Типы данных: single | double

Флаг перекрестной проверки "Пропускает один", заданный как пара, разделенная запятой, состоящая из 'Leaveout' и 'on' или 'off'. "Пропустите один", особый случай 'KFold', в котором количество сгибов равняется количеству наблюдений.

Используйте только одну из этих четырех опций за один раз: 'CVPartition', 'Holdout', 'KFold' или 'Leaveout'.

Пример: 'Leaveout','on'

Советы

  • Оцените прогнозирующую производительность mdl на перекрестных подтвержденных данных при помощи “kfold” методов и свойств cvmodel, таких как kfoldLoss.

Альтернативная функциональность

Можно создать перекрестную подтвержденную модель непосредственно из данных вместо того, чтобы создать модель, сопровождаемую перекрестной подтвержденной моделью. Для этого задайте одну из этих опций в fitcknn: 'CrossVal', 'KFold', 'Holdout', 'Leaveout' или 'CVPartition'.

Представленный в R2012a

Для просмотра документации необходимо авторизоваться на сайте