Введение
В этом практическом занятии мы рассмотрим пример использования классификаторов наивного Байеса из библиотеки scikit-learn в Python. Классификаторы наивного Байеса - это набор алгоритмов обучения с учителем, которые обычно используются для задач классификации. Эти классификаторы основаны на применении теоремы Байеса с предположением условной независимости между каждой парой признаков при заданном значении переменной класса.
В этом примере мы будем использовать гауссовский наивный байесовский классификатор из scikit-learn для классификации датасета iris, который является популярным датасетом в машинном обучении. Цель - предсказать вид ириса по размерам его лепестков и чашелистика.
Советы по работе с ВМ
После запуска ВМ кликните в левом верхнем углу, чтобы переключиться на вкладку Notebook и приступить к практике с использованием Jupyter Notebook.
Иногда может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы столкнетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импортируем библиотеки и загружаем датасет
Начнем с импорта необходимых библиотек и загрузки датасета 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, разделили его на тренировочный и тестовые наборы, обучили классификатор на тренировочном наборе и оценили его производительность на тестовом наборе. Полученная точность показывает, насколько хорошо классификатор справился с предсказанием видов ирисных цветов. Наивные байесовские классификаторы - это простые, но эффективные алгоритмы для задач классификации и широко используются в различных реальных приложениях.