Проверяйте эффективность классификатора Используя набор тестов в приложении Classification Learner

В этом примере показано, как обучить многоуровневые модели в Classification Learner и определить лучше всего выполняющие модели на основе их точности валидации. Проверяйте тестовую точность на лучше всего выполняющие модели, обученные на полном наборе данных, включая данные об обучении и валидации.

  1. В MATLAB® Командное окно, загрузите ionosphere набор данных, и составляет таблицу, содержащую данные. Разделите таблицу на наборы обучающих данных и наборы тестов.

    load ionosphere
    tbl = array2table(X);
    tbl.Y = Y;
    
    rng('default') % For reproducibility of the data split
    partition = cvpartition(Y,'Holdout',0.15);
    idxTrain = training(partition); % Indices for the training set
    tblTrain = tbl(idxTrain,:);
    tblTest = tbl(~idxTrain,:);
  2. Открытый Classification Learner. Кликните по вкладке Apps, и затем кликните по стреле справа от раздела Apps, чтобы открыть галерею Apps. В группе Machine Learning and Deep Learning нажмите Classification Learner.

  3. На вкладке Classification Learner, в разделе File, нажимают New Session и выбирают From Workspace.

  4. В диалоговом окне New Session from Workspace выберите tblTrain таблица из списка Data Set Variable.

    Как показано в диалоговом окне, приложение выбирает переменные отклика и переменные предикторы. Переменной отклика по умолчанию является Y. Чтобы защитить от сверхподбора кривой, опция валидации по умолчанию является 5-кратной перекрестной проверкой. В данном примере не изменяйте настройки по умолчанию.

    New Session from Workspace dialog box

  5. Чтобы принять опции по умолчанию и продолжиться, нажмите Start Session.

  6. Обучите все предварительно установленные модели. На вкладке Classification Learner, в разделе Model Type, кликают по стреле, чтобы открыть галерею. В группе Get Started нажмите All. В разделе Training нажмите Train. Приложение обучает один из каждого предварительно установленного типа модели и отображает модели в панели Models.

    Совет

    Если у вас есть Parallel Computing Toolbox™, можно обучить все модели (All) одновременно путем нажатия кнопки Use Parallel в разделе Training перед нажатием Train. После того, как вы нажимаете Train, диалоговое окно Opening Parallel Pool открывается и остается открытым, в то время как приложение открывает параллельный пул рабочих. В это время вы не можете взаимодействовать с программным обеспечением. После того, как пул открывается, приложение обучает модели одновременно.

  7. Сортировка обученных моделей на основе точности валидации. В панели Models откройте список Sort by и выберите Accuracy (Validation).

  8. В панели Models кликните по значкам звезды рядом с этими тремя моделями с самой высокой точностью валидации. Приложение подсвечивает самую высокую точность валидации путем выделения его в поле. В этом примере обученная модель Medium Gaussian SVM имеет самую высокую точность валидации.

    Validation confusion matrix of the ionosphere data modeled by a fine tree model

    Отображения приложения матрица беспорядка валидации для первой модели (модель 1.1). Синие значения указывают на правильные классификации, и красные значения указывают на неправильные классификации. Панель Models слева показывает точность валидации для каждой модели.

    Примечание

    Валидация вводит некоторую случайность в результаты. Ваши результаты проверки допустимости модели могут варьироваться от результатов, показанных в этом примере.

  9. Проверяйте эффективность набора тестов лучше всего выполняющих моделей. Начните путем импорта тестовых данных в приложение.

    На вкладке Classification Learner, в разделе Testing, нажимают Test Data и выбирают From Workspace.

  10. В диалоговом окне Import Test Data выберите tblTest таблица из списка Test Data Set Variable.

    Как показано в диалоговом окне, приложение идентифицирует переменные отклика и переменные предикторы.

    Import Test Data dialog box

  11. Нажмите Import.

  12. Вычислите точность лучших предварительно установленных моделей на tblTest данные. Для удобства вычислите точность набора тестов для всех моделей целиком. На вкладке Classification Learner, в разделе Testing, нажимают Test All и выбирают Test All. Приложение вычисляет эффективность набора тестов модели, обученной на полном наборе данных, включая данные об обучении и валидации.

  13. Сортировка моделей на основе точности набора тестов. В панели Models откройте список Sort by и выберите Accuracy (Test). Приложение все еще обрисовывает в общих чертах метрику для модели с самой высокой точностью валидации, несмотря на отображение тестовой точности.

  14. Визуально проверяйте эффективность набора тестов моделей. Для каждой из звездообразных моделей выберите модель в панели Models. На вкладке Classification Learner, в разделе Plots, кликают по стреле, чтобы открыть галерею, и затем нажать Confusion Matrix (Test) в группе Test Results.

  15. Перестройте размещение графиков лучше сравнить их. Во-первых, закройте матрицу беспорядка валидации для Model 1.1. Затем кликните по стреле Действий Документа, расположенной справа вкладок графика модели. Выберите Tile All опция и задает 1 3 размещение. Нажмите кнопку опций графика Hide в правых верхних из графиков сделать больше комнаты для графиков.

    В этом примере обученная модель SVM Kernel остается одна из лучше всего выполняющих моделей на данных о наборе тестов.

    Test set confusion matrices for the starred models

    Чтобы возвратиться к первоначальному макету, можно нажать кнопку Layout в разделе Plots и выбрать Single model (Default).

  16. Сравните валидацию и протестируйте точность на обученную модель SVM Kernel. В панели Current Model Summary сравните значение Accuracy (Validation) под Training Results к значению Accuracy (Test) под Test Results. В этом примере эти два значения близки, который указывает, что точность валидации является хорошей оценкой тестовой точности для этой модели.

Похожие темы