Обучите наивные классификаторы Байеса Используя приложение 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).

    Validation confusion matrix of the iris data modeled by a Gaussian naive Bayes classifier. Blue values indicate correct classifications, and red values indicate incorrect classifications.

    Примечание

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

  8. Исследуйте график рассеивания путем нажатия на вкладку Scatter Plot для Model 1. 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. Нажмите OK.

    Advanced naive Bayes options selected

    Примечание

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

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

    Validation confusion matrix of the iris data modeled by a kernel naive Bayes classifier. Blue values indicate correct classifications, and red values indicate incorrect classifications.

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

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

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

    All Naive Bayes model type selected

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

    Validation confusion matrix 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 кликните по модели, чтобы просмотреть результаты. Например, выберите модель 2. Исследуйте график рассеивания на обученную модель. На вкладке Classification Learner, в разделе Plots, кликают по стреле, чтобы открыть галерею, и затем нажать Scatter в группе Validation Results. Попытайтесь строить различные предикторы. Неправильно классифицированные точки появляются как X.

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

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

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

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

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

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

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

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

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

    Confusion matrix plot for the 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 в группе Validation Results.

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

  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.

Похожие темы