crossval

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

Описание

пример

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

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

Примеры

свернуть все

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

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

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 - ближайших соседей, заданная как ClassificationKNN объект.

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

Задайте дополнительные разделенные запятой пары Name,Value аргументы. 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