В этом примере показано, как обучить несколько моделей в Classification Learner и определить наиболее эффективные модели на основе их точности валидации. Проверьте точность теста на наиболее эффективные модели, обученные на полном наборе данных, включая данные обучения и валидации.
В 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,:);
Откройте Classification Learner. Щелкните вкладку Apps, а затем щелкните стреле справа от раздела Apps, чтобы открыть галерею Apps. В группе Machine Learning and Deep Learning нажмите Classification Learner.
На вкладке Classification Learner, в разделе File, нажмите New Session и выберите From Workspace.
В диалоговом окне «Новый сеанс из рабочей области» выберите tblTrain
таблица из списка Data Set Variable.
Как показано в диалоговом окне, приложение выбирает переменные отклика и предиктора. Переменная отклика по умолчанию Y
. Чтобы защитить от сверхподбора кривой, опция валидации по умолчанию является 5-кратной перекрестной валидацией. В данном примере не изменяйте настройки по умолчанию.
Чтобы принять опции по умолчанию и продолжить, нажмите Start Session.
Обучите все предустановленные модели. На вкладке Classification Learner, в разделе Model Type, щелкните стреле, чтобы открыть галерею. В группе Get Started нажмите All. В Training разделе нажмите Train. Приложение обучает один из каждого предустановленного типа модели и отображает модели на панели Models.
Совет
Если у вас есть Parallel Computing Toolbox™, можно обучить все модели (All) одновременно, нажав кнопку Use Parallel в разделе Training перед нажатием Train. После нажатия кнопки Train открывается диалоговое окно Открытие параллельного пула, которое остается открытым, пока приложение открывает параллельный пул работников. В течение этого времени вы не можете взаимодействовать с программным обеспечением. После открытия пула приложение обучает модели одновременно.
Отсортируйте обученные модели на основе точности валидации. На панели Models откройте список Sort by и выберите Accuracy (Validation)
.
На панели Models щелкните значки звезды рядом с тремя моделями с самой высокой точностью валидации. Приложение выделяет самую высокую точность валидации, изложив ее в поле. В этом примере обученная модель Medium Gaussian SVM имеет самую высокую точность валидации.
Приложение отображает график поля точек ionosphere
данные. Правильно классифицированные точки отмечены O, а неправильно классифицированные точки отмечены X. На панели Models слева показана точность валидации для каждой модели.
Примечание
Валидация вводит некоторую случайность в результаты. Результаты валидации вашей модели могут отличаться от результатов, показанных в этом примере.
Проверьте эффективность тестового набора наиболее эффективных моделей. Начните с импорта тестовых данных в приложение.
На вкладке Classification Learner, в разделе Testing, нажмите Test Data и выберите From Workspace.
В диалоговом окне Import Test Data выберите tblTest
таблица из списка Test Data Set Variable.
Как показано в диалоговом окне, приложение идентифицирует переменные отклика и предиктора.
Нажмите Import.
Вычислите точность лучших предустановленных моделей на tblTest
данные. Для удобства вычислите точность тестового набора сразу для всех моделей. На вкладке Classification Learner, в разделе Testing, нажмите Test All и выберите Test All. Приложение вычисляет эффективность тестового набора модели, обученной на полном наборе данных, включая данные обучения и валидации.
Отсортируйте модели на основе точности тестового набора. На панели Models откройте список Sort by и выберите Accuracy (Test)
. Приложение все еще очерчивает метрику для модели с самой высокой точностью валидации, несмотря на отображение точности теста.
Визуально проверьте эффективность тестового набора моделей. На вкладке Classification Learner, в разделе Plots, нажмите Confusion Matrix и выберите Test Data. Можно переключаться между моделями, чтобы сравнить их эффективность.
В этом примере обученная Medium Gaussian SVM остается одной из наиболее эффективных моделей на данных тестового набора.
Сравните валидацию и точность тестирования для обученной модели Medium Gaussian SVM. На панели Current Model Summary сравните значение Accuracy (Validation) под Training Results со значением Accuracy (Test) под Test Results. В этом примере два значения близки, что указывает на то, что точность валидации является хорошей оценкой точности теста для этой модели.