Exemple de Naïf Bayésien

Machine LearningMachine LearningBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons étudier un exemple d'utilisation de classifieurs Naïfs Bayésiens de la bibliothèque scikit-learn en Python. Les classifieurs Naïfs Bayésiens sont un ensemble d'algorithmes d'apprentissage supervisé couramment utilisés pour les tâches de classification. Ces classifieurs sont basés sur l'application du théorème de Bayes avec l'hypothèse d'indépendance conditionnelle entre chaque paire de caractéristiques étant donné la valeur de la variable de classe.

Dans cet exemple, nous utiliserons le classifieur Naïf Bayésien Gaussien de scikit-learn pour classifier l'ensemble de données iris, qui est un ensemble de données populaire pour l'apprentissage automatique. L'objectif est de prédire l'espèce d'une fleur de lys en fonction de ses dimensions de pétales et de sépales.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/UtilitiesandDatasetsGroup(["Utilities and Datasets"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn(("Sklearn")) -.-> sklearn/CoreModelsandAlgorithmsGroup(["Core Models and Algorithms"]) sklearn(("Sklearn")) -.-> sklearn/ModelSelectionandEvaluationGroup(["Model Selection and Evaluation"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/naive_bayes("Naive Bayes") sklearn/ModelSelectionandEvaluationGroup -.-> sklearn/model_selection("Model Selection") sklearn/UtilitiesandDatasetsGroup -.-> sklearn/datasets("Datasets") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/naive_bayes -.-> lab-71106{{"Exemple de Naïf Bayésien"}} sklearn/model_selection -.-> lab-71106{{"Exemple de Naïf Bayésien"}} sklearn/datasets -.-> lab-71106{{"Exemple de Naïf Bayésien"}} ml/sklearn -.-> lab-71106{{"Exemple de Naïf Bayésien"}} end

Importation des bibliothèques et chargement de l'ensemble de données

Commenceons par importer les bibliothèques nécessaires et charger l'ensemble de données iris. Nous utiliserons la fonction load_iris du module sklearn.datasets pour charger l'ensemble de données.

from sklearn.datasets import load_iris

## Charge l'ensemble de données iris
iris = load_iris()
X = iris.data  ## Caractéristiques
y = iris.target  ## Variable cible

print("Nombre d'échantillons :", X.shape[0])
print("Nombre de caractéristiques :", X.shape[1])
print("Nombre de classes :", len(set(y)))

Diviser l'ensemble de données en ensembles d'entraînement et de test

Ensuite, nous allons diviser l'ensemble de données en ensembles d'entraînement et de test en utilisant la fonction train_test_split du module sklearn.model_selection. L'ensemble d'entraînement sera utilisé pour entraîner le classifieur Naïf Bayésien, et l'ensemble de test sera utilisé pour évaluer ses performances.

from sklearn.model_selection import train_test_split

## Divise l'ensemble de données en ensembles d'entraînement et de test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Entraîner et évaluer le classifieur Naïf Bayésien Gaussien

Maintenant, nous allons entraîner le classifieur Naïf Bayésien Gaussien sur l'ensemble d'entraînement et évaluer ses performances sur l'ensemble de test. Nous utiliserons la classe GaussianNB du module sklearn.naive_bayes.

from sklearn.naive_bayes import GaussianNB

## Crée un classifieur Naïf Bayésien Gaussien
gnb = GaussianNB()

## Entraîne le classifieur
gnb.fit(X_train, y_train)

## Prédit la variable cible pour l'ensemble de test
y_pred = gnb.predict(X_test)

## Calcule la précision du classifieur
accuracy = (y_pred == y_test).sum() / len(y_test)
print("Précision :", accuracy)

Interpréter les résultats

Sur la base de la précision obtenue, nous pouvons interpréter les performances du classifieur Naïf Bayésien Gaussien sur l'ensemble de données iris. La précision représente la proportion de valeurs de variable cible prédites correctement dans l'ensemble de test. Dans ce cas, la précision représente la proportion d'espèces de fleurs de lys correctement classées.

Résumé

Dans ce laboratoire, nous avons étudié un exemple d'utilisation du classifieur Naïf Bayésien Gaussien de scikit - learn. Nous avons chargé l'ensemble de données iris, le divisé en ensembles d'entraînement et de test, entraîné le classifieur sur l'ensemble d'entraînement et évalué ses performances sur l'ensemble de test. La précision obtenue nous donne une indication de la qualité de la prédiction des espèces de fleurs de lys par le classifieur. Les classifieurs Naïf Bayésien sont des algorithmes simples mais efficaces pour les tâches de classification et sont couramment utilisés dans diverses applications du monde réel.