Ejemplo de Naive Bayes

Machine LearningMachine LearningBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, revisaremos un ejemplo de uso de clasificadores Naive Bayes de la biblioteca scikit-learn en Python. Los clasificadores Naive Bayes son un conjunto de algoritmos de aprendizaje supervisado que se utilizan comúnmente para tareas de clasificación. Estos clasificadores se basan en la aplicación del teorema de Bayes con la suposición de independencia condicional entre cada par de características dado el valor de la variable de clase.

En este ejemplo, usaremos el clasificador Naive Bayes Gaussiano de scikit-learn para clasificar el conjunto de datos iris, que es un conjunto de datos popular para el aprendizaje automático. El objetivo es predecir la especie de una flor de iris basada en sus dimensiones de pétalos y sépalos.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/CoreModelsandAlgorithmsGroup(["Core Models and Algorithms"]) sklearn(("Sklearn")) -.-> sklearn/ModelSelectionandEvaluationGroup(["Model Selection and Evaluation"]) sklearn(("Sklearn")) -.-> sklearn/UtilitiesandDatasetsGroup(["Utilities and Datasets"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) 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{{"Ejemplo de Naive Bayes"}} sklearn/model_selection -.-> lab-71106{{"Ejemplo de Naive Bayes"}} sklearn/datasets -.-> lab-71106{{"Ejemplo de Naive Bayes"}} ml/sklearn -.-> lab-71106{{"Ejemplo de Naive Bayes"}} end

Importar bibliotecas y cargar el conjunto de datos

Comencemos importando las bibliotecas necesarias y cargando el conjunto de datos iris. Usaremos la función load_iris del módulo sklearn.datasets para cargar el conjunto de datos.

from sklearn.datasets import load_iris

## Cargar el conjunto de datos iris
iris = load_iris()
X = iris.data  ## Características
y = iris.target  ## Variable objetivo

print("Número de muestras:", X.shape[0])
print("Número de características:", X.shape[1])
print("Número de clases:", len(set(y)))

Dividir el conjunto de datos en conjuntos de entrenamiento y prueba

A continuación, dividiremos el conjunto de datos en conjuntos de entrenamiento y prueba utilizando la función train_test_split del módulo sklearn.model_selection. El conjunto de entrenamiento se utilizará para entrenar el clasificador Naive Bayes, y el conjunto de prueba se utilizará para evaluar su rendimiento.

from sklearn.model_selection import train_test_split

## Dividir el conjunto de datos en conjuntos de entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Entrenar y evaluar el clasificador Naive Bayes Gaussiano

Ahora, entrenaremos el clasificador Naive Bayes Gaussiano en el conjunto de entrenamiento y evaluaremos su rendimiento en el conjunto de prueba. Usaremos la clase GaussianNB del módulo sklearn.naive_bayes.

from sklearn.naive_bayes import GaussianNB

## Crear un clasificador Naive Bayes Gaussiano
gnb = GaussianNB()

## Entrenar el clasificador
gnb.fit(X_train, y_train)

## Predecir la variable objetivo para el conjunto de prueba
y_pred = gnb.predict(X_test)

## Calcular la precisión del clasificador
accuracy = (y_pred == y_test).sum() / len(y_test)
print("Precisión:", accuracy)

Interpretar los resultados

Basados en la precisión obtenida, podemos interpretar el rendimiento del clasificador Naive Bayes Gaussiano en el conjunto de datos iris. La precisión representa la proporción de valores de variable objetivo predichos correctamente en el conjunto de prueba. En este caso, la precisión representa la proporción de especies de flores de iris clasificadas correctamente.

Resumen

En este laboratorio, revisamos un ejemplo de uso del clasificador Naive Bayes Gaussiano de scikit-learn. Cargamos el conjunto de datos iris, lo dividimos en conjuntos de entrenamiento y prueba, entrenamos el clasificador en el conjunto de entrenamiento y evaluamos su rendimiento en el conjunto de prueba. La precisión obtenida nos da una idea de qué tan bien el clasificador se desempeñó en la predicción de las especies de flores de iris. Los clasificadores Naive Bayes son algoritmos simples pero efectivos para tareas de clasificación y se utilizan comúnmente en diversas aplicaciones del mundo real.