Обучите классификаторы приближения ядра Используя приложение Classification Learner

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

  1. В MATLAB® Командное окно, загрузите humanactivity набор данных, и составляет таблицу от переменных в наборе данных, чтобы использовать для классификации. Набор данных содержит 24 075 наблюдений за пятью физической деятельностью человека: нахождение, положение, обход, выполнение и танец. Каждое наблюдение имеет 60 функций, извлеченных из ускоряющих данных, измеренных датчиками акселерометра смартфона.

    load humanactivity
    Tbl = array2table(feat);
    Tbl.Properties.VariableNames = featlabels';
    activity = categorical(actid,1:5,actnames);
    Tbl.Activity = activity;

    В качестве альтернативы можно загрузить humanactivity набор данных, создайте категориальный activity переменная отклика, и сохраняет feat и activity данные как отдельные переменные.

  2. Кликните по вкладке Apps, и затем кликните по стреле Show more на праве открыть галерею Apps. В группе Machine Learning and Deep Learning нажмите Classification Learner.

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

    Classification Learner tab

  4. В диалоговом окне New Session from Workspace выберите таблицу Tbl из списка Data Set Variable. Обратите внимание на то, что приложение выбирает переменные отклика и переменные предикторы на основе их типов данных. В частности, приложение выбирает Activity как переменная отклика, потому что это - единственная категориальная переменная. В данном примере не изменяйте выборы.

    В качестве альтернативы, если вы сохраняете данные о предикторе feat и переменная отклика activity как две отдельные переменные, можно сначала выбрать матричный feat из списка Data Set Variable. Затем под Response кликните по переключателю From workspace и выберите activity из списка.

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

    Classification Learner создает график рассеивания данных.

  6. Используйте график рассеивания, чтобы заняться расследованиями, какие переменные полезны для предсказания ответа. Выберите различные варианты в X и списках Y под Predictors, чтобы визуализировать распределение действий и измерений. Отметьте, какие переменные разделяют действия (цвета) наиболее ясно.

  7. Создайте выбор моделей приближения ядра. На вкладке Classification Learner, в разделе Model Type, кликают по стреле, чтобы открыть галерею. В группе Kernel Approximation Classifiers нажмите All Kernels.

  8. В разделе Training нажмите Train.

    Совет

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

    Classification Learner обучает одну из каждой опции приближения ядра в галерее. В панели Models приложение обрисовывает в общих чертах счет Accuracy (Validation) лучшей модели. Classification Learner также отображает матрицу беспорядка валидации для первой модели ядра (Ядро SVM).

    Validation confusion matrix of the human activity data modeled by an SVM Kernel classifier. Blue values indicate correct classifications, and red values indicate incorrect classifications.

    Примечание

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

  9. Чтобы просмотреть результаты для модели, выберите модель в панели Models и смотрите панель Current Model Summary. Панель Current Model Summary отображает метрики Training Results, вычисленные на набор валидации.

  10. Выберите вторую модель ядра (Ядро Логистической регрессии) в панели Models и смотрите точность предсказаний в каждом классе с помощью матрицы беспорядка валидации. На вкладке Classification Learner, в разделе Plots, кликают по стреле, чтобы открыть галерею, и затем нажать Confusion Matrix (Validation) в группе Validation Results. Просмотрите матрицу истинного класса и предсказанных результатов класса.

  11. Сравните матрицы беспорядка для этих двух моделей рядом друг с другом. На вкладке Classification Learner, в разделе Plots, нажимают кнопку Layout и выбирают Compare models. В правом верхнем из каждого графика нажмите кнопку опций графика Hide, чтобы сделать больше комнаты для графика.

    Side-by-side comparison of the validation confusion matrices for the SVM Kernel and Logistic Regression Kernel classifiers

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

  12. Выберите лучшую модель в панели Models (лучший счет подсвечен в поле Accuracy (Validation)). Чтобы улучшить модель, попробуйте включая различные функции в модели. Смотрите, можно ли улучшить модель путем удаления функций с низкой предсказательной силой.

    Чтобы исследовать функции, чтобы включать или исключить, используйте рассеяние и найдите что-либо подобное графикам координат. На вкладке Classification Learner, в разделе Plots, открывают галерею и нажимают кнопки Scatter и Parallel Coordinates в группе Validation Results.

    Чтобы задать который функции включать, нажмите Feature Selection в разделе Features по вкладке Classification Learner. В диалоговом окне Feature Selection задайте предикторы, чтобы удалить из модели и нажать OK. В разделе Training нажмите Train, чтобы обучить новую модель с помощью новых опций. Сравните результаты среди классификаторов в панели Models.

  13. Выберите лучшую модель в панели Models. Чтобы попытаться улучшить модель далее, измените ее расширенные настройки. На вкладке Classification Learner, в разделе Model Type, нажимают Advanced и выбирают Advanced. В Усовершенствованном Окне параметров Ядра попытайтесь изменить некоторые настройки и нажмите OK. Обучите новую модель путем нажатия на Train в разделе Training.

    Чтобы узнать больше о настройках модели ядра, смотрите Классификаторы Приближения Ядра.

  14. Можно экспортировать компактную версию обученной модели к рабочей области. На вкладке Classification Learner, в разделе Export, нажимают Export Model и выбирают Export Model или Export Compact Model. Обратите внимание на то, что любая опция экспортирует компактную версию обученной модели, потому что модели приближения ядра не хранят обучающие данные. См. Модель Классификации Экспорта, чтобы Предсказать Новые Данные.

  15. Чтобы исследовать код на обучение этот классификатор, нажмите Generate Function в разделе Export. Поскольку набор данных, используемый, чтобы обучить этот классификатор, имеет больше чем два класса, сгенерированный код использует fitcecoc функция, а не fitckernel.

Совет

Используйте тот же рабочий процесс, чтобы оценить и сравнить другие типы классификатора, которые можно обучить в Classification Learner.

Обучать все nonoptimizable предварительные установки модели классификатора, доступные для вашего набора данных:

  1. На вкладке Classification Learner, в разделе Model Type, кликают по стреле, чтобы открыть галерею моделей.

  2. В группе Get Started нажмите All. Затем в разделе Training нажмите Train.

    Option selected for training all available classifier types

Чтобы узнать о других типах классификатора, смотрите, Обучают Модели Классификации в Приложении Classification Learner.

Похожие темы