Проверяйте эффективность классификатора с помощью тестового набора в приложении 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. В диалоговом окне «Новый сеанс из рабочей области» выберите 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 открывается диалоговое окно Открытие параллельного пула, которое остается открытым, пока приложение открывает параллельный пул работников. В течение этого времени вы не можете взаимодействовать с программным обеспечением. После открытия пула приложение обучает модели одновременно.

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

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

    Scatter plot of the ionosphere data

    Приложение отображает график поля точек ionosphere данные. Правильно классифицированные точки отмечены O, а неправильно классифицированные точки отмечены X. На панели 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. Визуально проверьте эффективность тестового набора моделей. На вкладке Classification Learner, в разделе Plots, нажмите Confusion Matrix и выберите Test Data. Можно переключаться между моделями, чтобы сравнить их эффективность.

    В этом примере обученная Medium Gaussian SVM остается одной из наиболее эффективных моделей на данных тестового набора.

    Test set confusion matrix for the medium Gaussian SVM model

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

Похожие темы