Привет, приятно познакомиться, это мой первый пост. В этой статье я покажу вам реализацию наивного байесовского классификатора с использованием пакета python scikit-learn.

Что такое наивный байес?

Наивный байесовский классификатор — очень популярный контролируемый алгоритм машинного обучения, изобретенный британским ученым Томасом Байесом. Наивный Байес — это классификация с использованием вероятностных и статистических методов для прогнозирования будущих возможностей на основе предыдущего опыта. Алгоритм наивного Байеса быстр и очень эффективен для классификации, кроме того, этот алгоритм требует очень мало данных. Однако этот алгоритм нельзя применять, если условная вероятность равна нулю, если она равна нулю, то вероятность предсказания также будет равна нулю. Еще одним недостатком этого алгоритма является то, что он не может принимать независимые переменные, а предположение о каждой независимой переменной снижает точность. Поняв, что такое наивный байесовский алгоритм, давайте попробуем построить модель на основе наивных байесовских вычислений с помощью scikit-learn from python.

1. Описание набора данных

Используемый набор данных имеет 14 экземпляров и всего пять атрибутов. Здесь первые четыре атрибута являются предикторами, а последний атрибут «играть» является целевым атрибутом. Мы спрогнозируем, будет кто-то играть на улице или нет, если погода пасмурная, мягкая, нормальная и ветреная.

2. Импортируйте библиотеки

На этом этапе перед построением наивной байесовской модели нам нужно импортировать необходимые библиотеки. Сначала мы импортируем библиотеку numpy, которая используется для многомерных массивов, затем мы импортируем библиотеку pandas, которая используется для импорта набора данных. Затем импортируйте наивную байесовскую модель из библиотеки Scikit Learn, которая будет использоваться для построения модели прогнозирования.

3. Импорт набора данных

На этом этапе мы создаем набор данных, для этого мы используем библиотеку pandas.

4. Преобразовать объект набора данных в числовой

Поскольку используемые данные являются категориальными данными, а модель понимает только числовые данные. Нам нужно преобразовать данные из категорий в числовые с помощью cat.codes или вы также можете использовать labelencoder.

5. Разделить набор данных для тестирования и обучения

После преобразования данных в числовую форму нам нужно определить наш предиктор и целевые атрибуты. Здесь атрибутами-предикторами являются внешний вид, температура, влажность, ветер, которые мы называем переменной «X» и играем в качестве целевого атрибута, который здесь называется переменной «Y».

В настоящее время мы проводим тестовое разделение поезда на нашем наборе данных. Мы даем размер теста для 0,20, это означает, что мы делим 80% набора данных для обучения, а оставшиеся 20%, для тестирования случайного состояния со значением 45, это означает, что мы рандомизируем 45 раз для обучения.

6. Модель поезда

Обучите модель с предопределенными параметрами обучения

7. Результаты предсказания модели

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

Из результатов вывода предсказания выше предсказанное значение 1 (ДА) означает, что человек играет на улице.

8. Модель точности

На этом этапе мы рассчитываем показатель точности на основе фактического результата теста и прогнозируем результаты теста.

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

Надеюсь, вам нравится мой блог. Код можно найти на моем гитхабе https://github.com/bungaayuu. Не стесняйтесь обращаться ко мне, если у вас есть какие-либо сомнения.
Удачной учебы!!!