Пример наивного байесовского классификатора

Beginner

This tutorial is from open-source community. Access the source code

Введение

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

В этом примере мы будем использовать гауссовский наивный байесовский классификатор из scikit-learn для классификации датасета iris, который является популярным датасетом в машинном обучении. Цель - предсказать вид ириса по размерам его лепестков и чашелистика.

Советы по работе с ВМ

После запуска ВМ кликните в левом верхнем углу, чтобы переключиться на вкладку Notebook и приступить к практике с использованием Jupyter Notebook.

Иногда может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы столкнетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Это Guided Lab, который предоставляет пошаговые инструкции, чтобы помочь вам учиться и практиковаться. Внимательно следуйте инструкциям, чтобы выполнить каждый шаг и получить практический опыт. Исторические данные показывают, что это лабораторная работа уровня начальный с процентом завершения 91%. Он получил 100% положительных отзывов от учащихся.

Импортируем библиотеки и загружаем датасет

Начнем с импорта необходимых библиотек и загрузки датасета iris. Мы будем использовать функцию load_iris из модуля sklearn.datasets для загрузки датасета.

from sklearn.datasets import load_iris

## Load the iris dataset
iris = load_iris()
X = iris.data  ## Features
y = iris.target  ## Target variable

print("Number of samples:", X.shape[0])
print("Number of features:", X.shape[1])
print("Number of classes:", len(set(y)))

Разделим датасет на тренировочный и тестовый наборы

Далее мы разделим датасет на тренировочный и тестовые наборы с использованием функции train_test_split из модуля sklearn.model_selection. Тренировочный набор будет использоваться для обучения наивного байесовского классификатора, а тестовый набор - для оценки его производительности.

from sklearn.model_selection import train_test_split

## Split the dataset into training and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Обучение и оценка гауссовского наивного байесовского классификатора

Теперь мы обучим гауссовский наивный байесовский классификатор на тренировочном наборе и оценим его производительность на тестовом наборе. Мы будем использовать класс GaussianNB из модуля sklearn.naive_bayes.

from sklearn.naive_bayes import GaussianNB

## Create a Gaussian Naive Bayes classifier
gnb = GaussianNB()

## Train the classifier
gnb.fit(X_train, y_train)

## Predict the target variable for the test set
y_pred = gnb.predict(X_test)

## Calculate the accuracy of the classifier
accuracy = (y_pred == y_test).sum() / len(y_test)
print("Accuracy:", accuracy)

Интерпретация результатов

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

Резюме

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