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 = 
  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