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

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

Наивные классификаторы Байеса используют теорему Бейеса и делают предположение, что предикторы независимы друг от друга в каждом классе. Однако классификаторы работают хорошо, даже когда предположение независимости не верно. Можно использовать наивного Бейеса с двумя или больше классами в Classification Learner. Приложение позволяет вам обучать Гауссову наивную модель Бейеса или ядерную наивная модель Бейеса индивидуально или одновременно.

Эта таблица приводит доступные наивные модели Байеса в Classification Learner и вероятностных распределениях, используемых каждой моделью, чтобы соответствовать предикторам.

МодельЧисловой предикторКатегориальный предиктор
Гауссов наивный классификатор БейесаРаспределение Гаусса (или нормальное распределение)многомерное полиномиальное распределение
Ядерный наивный БейесЯдерное распределение
Можно задать тип ядра и поддержку. Classification Learner автоматически определяет ширину ядра с помощью базового fitcnb функция.
многомерное полиномиальное распределение

Этот пример использует ирисовый набор данных Фишера, который содержит измерения цветов (лепестковая длина, лепестковая ширина, длина чашелистика и ширина чашелистика) для экземпляров от трех разновидностей. Обучите наивные классификаторы Байеса предсказывать разновидности на основе измерений предиктора.

  1. В Командном окне MATLAB® загрузите Фишера, диафрагмируют набор данных и составляют таблицу предикторов измерения (или функции) использование переменных из набора данных.

    fishertable = readtable('fisheriris.csv');
  2. Кликните по вкладке Apps, и затем кликните по стреле справа от раздела Apps, чтобы открыть галерею Apps. В группе Machine Learning and Deep Learning нажмите Classification Learner.

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

    Classification Learner tab

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

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

    New Session from Workspace dialog box

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

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

    Scatter plot of the Fisher iris data.

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

    setosa разновидность (синие точки) легко разделить от других двух разновидностей со всеми четырьмя предикторами. versicolor и virginica разновидности намного ближе вместе во всех измерениях предиктора и перекрытии, особенно когда вы строите длину чашелистика и ширину. setosa легче предсказать, чем другие две разновидности.

  7. Создайте наивную модель Bayes. На вкладке Classification Learner, в разделе Model Type, кликают по стреле, чтобы открыть галерею. В группе Naive Bayes Classifiers нажмите Gaussian Naive Bayes. Обратите внимание на то, что Classification Learner отключает кнопку Advanced в разделе Model Type, потому что этот тип модели не имеет никаких расширенных настроек.

    Gaussian Naive Bayes model type selected

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

    Приложение создает Гауссову наивную модель Bayes и строит результаты.

    Отображение приложения модель Gaussian Naive Bayes в панели Models. Проверяйте счет проверки допустимости модели в поле Accuracy (Validation). Счет показывает, что модель выполняет хорошо.

    Для модели Gaussian Naive Bayes, по умолчанию, приложение моделирует распределение числовых предикторов с помощью Распределения Гаусса и моделирует распределение категориальных предикторов с помощью многомерного распределения многочлена (MVMN).

    Scatter plot of the Fisher iris data modeled by a Gaussian Naive Bayes classifier. Correctly classified points are marked with an O. Incorrectly classified points are marked with an X.

    Примечание

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

  8. Исследуйте график рассеивания. X указывает на неправильно классифицированные точки. Синие точки (setosa разновидности), все правильно классифицируются, но другие две разновидности неправильно классифицировали точки. Под Plot, переключателем между Data и опциями Model predictions. Наблюдайте цвет неправильного (X) точки. Или, чтобы просмотреть только неправильные точки, снимите флажок Correct.

  9. Обучите ядро наивная модель Bayes сравнению. На вкладке Classification Learner, в разделе Model Type, нажимают Kernel Naive Bayes. Обратите внимание на то, что Classification Learner включает кнопку Advanced, потому что этот тип модели имеет расширенные настройки.

    Kernel Naive Bayes model type selected

    Отображения приложения черновое ядро наивная модель Bayes в панели Models.

    В разделе Model Type нажмите Advanced, чтобы изменить настройки в Усовершенствованном Наивном Байесовом Окне параметров. Выберите Triangle из списка Kernel Type, и выбирают Positive из списка Support.

    Advanced naive Bayes options selected

    Примечание

    Настройки в Усовершенствованном Наивном Байесовом Окне параметров доступны для текущих данных только. Указывание на Kernel Type отображается, подсказка "Указывают, что функция сглаживания Ядра для непрерывных переменных", и указывающий на Support отображает, подсказка "Задают Ядро, сглаживающее поддержку плотности непрерывных переменных".

    В разделе Training нажмите Train, чтобы обучить новую модель.

    Scatter plot of the Fisher iris data modeled by a Kernel Naive Bayes classifier. Correctly classified points are marked with an O. Incorrectly classified points are marked with an X.

    Панель Models теперь включает новое ядро наивная модель Bayes. Его счет проверки допустимости модели лучше, чем счет к Гауссовой наивной модели Bayes. Приложение подсвечивает счет Accuracy (Validation) лучшей модели путем выделения его в поле.

  10. В панели Models кликните по каждой модели, чтобы просмотреть и сравнить результаты.

  11. Обучите Гауссову наивную модель Bayes и ядро наивная модель Bayes одновременно. На вкладке Classification Learner, в разделе Model Type, нажимают All Naive Bayes. Classification Learner отключает кнопку Advanced. В разделе Training нажмите Train.

    All Naive Bayes model type selected

    Приложение обучает один из каждого наивного типа модели Бейеса и подсвечивает счет Accuracy (Validation) лучшей модели или моделей.

    Scatter plot of the Fisher iris data modeled by a Gaussian Naive Bayes classifier. The Models pane on the left shows the accuracy for each model.

  12. В панели Models кликните по модели, чтобы просмотреть результаты. Исследуйте график рассеивания на обученную модель и попытайтесь строить различные предикторы. Неправильно классифицированные точки появляются как X.

  13. Чтобы смотреть точность предсказаний в каждом классе, на вкладке Classification Learner, в разделе Plots, нажимают Confusion Matrix и выбирают Validation Data. Отображения приложения матрица истинного класса и предсказанных результатов класса.

    Confusion matrix plot for the Kernel Naive Bayes model

    Примечание

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

  14. В панели Models кликните по другим моделям и сравните их результаты.

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

    На вкладке Classification Learner, в разделе Features, нажимают Feature Selection.

    В диалоговом окне Feature Selection снимите флажки для PetalLength и PetalWidth, чтобы исключить их из предикторов. Новая черновая модель (модель 4) появляется в панели Models с новыми настройками (2/4 функции), на основе ядра наивная модель Bayes (модель 3.2).

    Feature Selection menu with SepalLength and SepalWidth selected, and PetalLength and PetalWidth cleared

    В разделе Training нажмите Train, чтобы обучить новое ядро наивная модель Bayes с помощью новых опций предиктора.

    Панель Models теперь включает модель 4. Это - также ядро наивная модель Bayes, обученное использование только 2 из 4 предикторов.

  16. Чтобы определить, какие предикторы включены, кликните по модели в панели Models, затем нажмите Feature Selection в разделе Features и примечании, какие флажки устанавливаются. Модель только с измерениями чашелистика (модель 4) имеет намного более низкий счет Accuracy (Validation), чем модели, содержащие все предикторы.

  17. Обучите другое ядро наивная модель Bayes только включая лепестковые измерения. Измените выборы в диалоговом окне Feature Selection и нажмите Train.

    Confusion matrix plot for the Kernel Naive Bayes model with two of the four features selected. The Models pane on the left shows the accuracy for each model.

    Модель, обученная с помощью только лепестковые измерения (модель 5), выполняет сравнительно к модели, содержащей все предикторы. Модели не предсказывают лучшего использования всех измерений только по сравнению с лепестковыми измерениями. Если сбор данных является дорогим или трудным, вы можете предпочесть модель, которая выполняет удовлетворительно без некоторых предикторов.

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

  19. В панели Models кликните по модели с самым высоким счетом Accuracy (Validation). Чтобы улучшить модель далее, попытайтесь изменить наивные настройки Bayes (при наличии). На вкладке Classification Learner, в разделе Model Type, нажимают Advanced. Вспомните, что кнопка Advanced включена только для некоторых моделей. Измените настройки, затем обучите новую модель путем нажатия на Train.

  20. Экспортируйте обученную модель в рабочую область. На вкладке Classification Learner, в разделе Export, выбирают Export Model > Export Model. См. Модель Классификации Экспорта, чтобы Предсказать Новые Данные.

  21. Исследуйте код на обучение этот классификатор. В разделе Export нажмите Generate Function.

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

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

  1. Кликните по стреле на разделе Model Type, чтобы открыть галерею классификаторов.

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

    Option selected for training all available classifier types

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

Похожие темы