Maison développement back-end Tutoriel Python Exemples Naive Bayes en Python

Exemples Naive Bayes en Python

Jun 09, 2023 pm 11:36 PM
python编程 朴素贝叶斯 实例演示

Python est un langage de programmation simple et facile à apprendre doté de riches bibliothèques de calcul scientifique et d'outils de traitement de données. Parmi eux, l’algorithme Naive Bayes, en tant que méthode classique d’apprentissage automatique, est également largement utilisé dans le langage Python. Cet article utilisera des exemples pour présenter les méthodes et les étapes d'utilisation de Naive Bayes en Python.

  1. Introduction à Naive Bayes

L'algorithme Naive Bayes est un algorithme de classification basé sur le théorème de Bayes. Son idée principale est de déduire les résultats de classification de nouvelles données à travers les caractéristiques de l'ensemble de données d'entraînement connu. Dans les applications pratiques, l'algorithme Naive Bayes est souvent utilisé dans des scénarios tels que la classification de texte, le filtrage du spam et l'analyse des sentiments.

La caractéristique de l'algorithme Naive Bayes est qu'il suppose que chaque fonctionnalité est indépendante les unes des autres. Cette hypothèse n'est souvent pas vraie dans les situations réelles, c'est pourquoi l'algorithme Naive Bayes est appelé « naïf ». Malgré cette hypothèse, Naive Bayes fonctionne toujours bien sur des problèmes tels que la classification de textes courts.

  1. Utilisation du Naive Bayes Classifier

En Python, les étapes d'utilisation du Naive Bayes Classifier peuvent être résumées comme suit :

2.1 Préparer les données

Vous devez d'abord préparer les données d'entraînement et les tests pour classer les données. Ces données peuvent se présenter sous forme de texte, d’images, d’audio, etc., mais elles doivent être converties sous une forme compréhensible par l’ordinateur. Dans les problèmes de classification de texte, il est souvent nécessaire de convertir le texte en représentation vectorielle.

2.2 Modèle de formation

Ensuite, vous devez utiliser l'ensemble de données de formation pour créer le classificateur Naive Bayes. Il existe trois classificateurs Bayes naïfs couramment utilisés en Python :

  • GaussianNB : convient à la classification de données continues.
  • BernoulliNB : Convient à la classification des données binaires.
  • MultinomialNB : convient à la classification de données multivariées.

En prenant la classification de texte comme exemple, vous pouvez utiliser la classe TfidfVectorizer fournie par la bibliothèque sklearn pour convertir le texte en représentation vectorielle, et utiliser le classificateur MultinomialNB pour la formation.

2.3 Test du modèle

Une fois la formation terminée, l'ensemble de données de test doit être utilisé pour évaluer les performances du modèle. Généralement, l'ensemble de données de test et l'ensemble de données d'entraînement sont indépendants. Il convient de noter que les données de l'ensemble de données de formation ne peuvent pas être utilisées pendant les tests. Vous pouvez utiliser la fonction precision_score fournie par la bibliothèque sklearn pour calculer la précision du modèle.

  1. Exemple : Classification de texte basée sur Naive Bayes

Afin de démontrer l'application pratique du classificateur Naive Bayes, cet article prend comme exemple la classification de texte basée sur Naive Bayes.

3.1 Préparer les données

Tout d'abord, recherchez deux ensembles de données textuelles sur Internet, à savoir « Sports News » et « Technology News », chaque ensemble de données contient 1 000 textes. Placez les deux ensembles de données dans des dossiers différents et étiquetez respectivement les textes comme « Sports » et « Technologie ».

3.2 Utilisez la bibliothèque sklearn pour la classification

Ensuite, utilisez le classificateur naïf Bayes fourni par la bibliothèque sklearn pour la classification.

(1) Importer des bibliothèques associées

from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score
import os
Copier après la connexion

(2) Lire les données textuelles et leurs annotations

def read_files(path):
    text_list = []
    label_list = []
    for root, dirs, files in os.walk(path):
        for file in files:
            file_path = os.path.join(root, file)
            with open(file_path, 'r', encoding='utf-8') as f:
                text = ''.join(f.readlines())
                text_list.append(text)
                if '体育' in file_path:
                    label_list.append('体育')
                elif '科技' in file_path:
                    label_list.append('科技')
    return text_list, label_list
Copier après la connexion

(3) Convertir le texte en représentation vectorielle

def text_vectorizer(text_list):
    vectorizer = TfidfVectorizer()
    X = vectorizer.fit_transform(text_list)
    return X, vectorizer
Copier après la connexion

(4) Entraîner le modèle et renvoyer la précision

def train(text_list, label_list):
    X, vectorizer = text_vectorizer(text_list)
    y = label_list
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
    clf = MultinomialNB()
    clf.fit(X_train, y_train)
    y_pred = clf.predict(X_test)
    acc = accuracy_score(y_test, y_pred)
    return clf, vectorizer, acc
Copier après la connexion

(5) Test model

def predict(clf, vectorizer, text):
    X = vectorizer.transform(text)
    y_pred = clf.predict(X)
    return y_pred[0]
Copier après la connexion

3.3 Analyse des résultats

En exécutant le code ci-dessus, vous pouvez obtenir que la précision du classificateur soit de 0,955. Lors de l'exécution d'une classification réelle, il vous suffit de saisir le texte à classer dans la fonction de prédiction pour renvoyer la catégorie à laquelle il appartient. Par exemple, saisissez le texte « L'iPhone 12 est enfin sorti ! » pour revenir à la catégorie « Technologie ».

  1. Résumé

En tant qu'algorithme de classification simple et efficace, l'algorithme Naive Bayes est également largement utilisé en Python. Cet article présente les méthodes et les étapes d'utilisation du classificateur Naive Bayes et prend comme exemple la classification de texte basée sur Naive Bayes pour démontrer l'application pratique du classificateur. Dans le processus de candidature réel, le prétraitement des données, la sélection des fonctionnalités et d'autres opérations sont également nécessaires pour améliorer la précision du classificateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

AssertionError : Comment résoudre les erreurs d'assertion Python ? AssertionError : Comment résoudre les erreurs d'assertion Python ? Jun 25, 2023 pm 11:07 PM

Les assertions en Python sont un outil utile permettant aux programmeurs de déboguer leur code. Il est utilisé pour vérifier que l'état interne du programme répond aux attentes et générer une erreur d'assertion (AssertionError) lorsque ces conditions sont fausses. Pendant le processus de développement, des assertions sont utilisées lors des tests et du débogage pour vérifier si l'état du code correspond aux résultats attendus. Cet article abordera les causes, les solutions et comment utiliser correctement les assertions dans votre code. Cause de l'erreur d'assertion Erreur d'assertion réussie

Techniques d'échantillonnage stratifié en Python Techniques d'échantillonnage stratifié en Python Jun 10, 2023 pm 10:40 PM

Technique d'échantillonnage stratifié en Python L'échantillonnage est une méthode de collecte de données couramment utilisée en statistiques. Elle peut sélectionner une partie d'échantillons de l'ensemble de données pour analyse afin de déduire les caractéristiques de l'ensemble de données. À l’ère du Big Data, la quantité de données est énorme et l’utilisation d’échantillons complets à des fins d’analyse prend du temps et n’est pas économiquement pratique. Par conséquent, le choix d’une méthode d’échantillonnage appropriée peut améliorer l’efficacité de l’analyse des données. Cet article présente principalement les techniques d'échantillonnage stratifié en Python. Qu’est-ce que l’échantillonnage stratifié ? En échantillonnage, échantillonnage stratifié

Comment développer un scanner de vulnérabilités en Python Comment développer un scanner de vulnérabilités en Python Jul 01, 2023 am 08:10 AM

Présentation de la façon de développer un scanner de vulnérabilités via Python Dans l'environnement actuel de menaces croissantes pour la sécurité Internet, les scanners de vulnérabilités sont devenus un outil important pour protéger la sécurité du réseau. Python est un langage de programmation populaire, concis, facile à lire et puissant, adapté au développement de divers outils pratiques. Cet article explique comment utiliser Python pour développer un scanner de vulnérabilités afin de fournir une protection en temps réel à votre réseau. Étape 1 : Déterminer les cibles d'analyse Avant de développer un scanner de vulnérabilités, vous devez déterminer les cibles que vous souhaitez analyser. Il peut s'agir de votre propre réseau ou de tout ce que vous êtes autorisé à tester.

Comment utiliser Python pour les scripts et l'exécution sous Linux Comment utiliser Python pour les scripts et l'exécution sous Linux Oct 05, 2023 am 11:45 AM

Comment utiliser Python pour écrire et exécuter des scripts sous Linux Dans le système d'exploitation Linux, nous pouvons utiliser Python pour écrire et exécuter divers scripts. Python est un langage de programmation concis et puissant qui fournit une multitude de bibliothèques et d'outils pour rendre la création de scripts plus facile et plus efficace. Ci-dessous, nous présenterons les étapes de base de l'utilisation de Python pour l'écriture et l'exécution de scripts sous Linux, et fournirons quelques exemples de code spécifiques pour vous aider à mieux le comprendre et l'utiliser. Installer Python

Utilisation de la fonction sqrt() en Python Utilisation de la fonction sqrt() en Python Feb 21, 2024 pm 03:09 PM

Exemples d'utilisation et de code de la fonction sqrt() en Python 1. Fonction et introduction de la fonction sqrt() Dans la programmation Python, la fonction sqrt() est une fonction du module mathématique, et sa fonction est de calculer la racine carrée de un numéro. La racine carrée signifie qu'un nombre multiplié par lui-même est égal au carré du nombre, c'est-à-dire x*x=n, alors x est la racine carrée de n. La fonction sqrt() peut être utilisée dans le programme pour calculer la racine carrée. 2. Comment utiliser la fonction sqrt() en Python, sq

Pratique de programmation Python : comment utiliser l'API Baidu Map pour générer des fonctions de carte statique Pratique de programmation Python : comment utiliser l'API Baidu Map pour générer des fonctions de carte statique Jul 30, 2023 pm 09:05 PM

Pratique de programmation Python : Comment utiliser l'API Baidu Map pour générer des fonctions de carte statique Introduction : Dans la société moderne, les cartes sont devenues un élément indispensable de la vie des gens. Lorsque nous travaillons avec des cartes, nous avons souvent besoin d'obtenir une carte statique d'une zone spécifique à afficher sur une page Web, une application mobile ou un rapport. Cet article explique comment utiliser le langage de programmation Python et l'API Baidu Map pour générer des cartes statiques et fournit des exemples de code pertinents. 1. Travail de préparation Pour réaliser la fonction de génération de cartes statiques à l'aide de l'API Baidu Map, je

Programmation Python pour analyser la fonction de conversion de coordonnées dans la documentation de l'API Baidu Map Programmation Python pour analyser la fonction de conversion de coordonnées dans la documentation de l'API Baidu Map Aug 01, 2023 am 08:57 AM

Programmation Python pour analyser la fonction de conversion de coordonnées dans le document Baidu Map API Introduction : Avec le développement rapide d'Internet, la fonction de positionnement cartographique est devenue un élément indispensable de la vie des gens modernes. En tant que l'un des services de cartographie les plus populaires en Chine, Baidu Maps fournit une série d'API que les développeurs peuvent utiliser. Cet article utilisera la programmation Python pour analyser la fonction de conversion de coordonnées dans la documentation de l'API Baidu Map et donnera des exemples de code correspondants. 1. Introduction En développement, nous sommes parfois confrontés à des problèmes de conversion de coordonnées. Carte Baidu AP

Comment écrire un algorithme d'analyse des composantes principales PCA en Python ? Comment écrire un algorithme d'analyse des composantes principales PCA en Python ? Sep 20, 2023 am 10:34 AM

Comment écrire un algorithme d'analyse des composantes principales PCA en Python ? PCA (PrincipalComponentAnalysis) est un algorithme d'apprentissage non supervisé couramment utilisé pour réduire la dimensionnalité des données afin de mieux comprendre et analyser les données. Dans cet article, nous apprendrons comment écrire l'algorithme d'analyse des composantes principales PCA à l'aide de Python et fournirons des exemples de code spécifiques. Les étapes de l'ACP sont les suivantes : Standardiser les données : mettre à zéro la moyenne de chaque caractéristique des données et ajuster la variance sur la même plage pour garantir

See all articles