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

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

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

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

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

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

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

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

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

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

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

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

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

  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, потому что этот тип модели не имеет никаких расширенных настроек.

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

    Совет

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

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

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

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

    Примечание

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

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

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

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

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

    Примечание

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

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

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

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

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

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

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

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

    Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие темы