6. APLICACIÓN PRÁCTICA: NAIVE BAYES (APRENDIZAJE SUPERVISADO)

 

6. APLICACIÓN PRÁCTICA: NAIVE BAYES (APRENDIZAJE SUPERVISADO)


Introducción al Teorema de Bayes y el Enfoque "Naive"

El algoritmo Naive Bayes es un método de clasificación que se utiliza comúnmente en el aprendizaje supervisado. Se basa en el teorema de Bayes y asume que las características de entrada son independientes entre sí, lo que es una simplificación "ingenua", de ahí su nombre, ya que en la mayoría de los casos no se cumple esta independencia en el mundo real.

El Teorema de Bayes es un principio fundamental en la teoría de la probabilidad. Se usa para calcular la probabilidad de un evento basado en el conocimiento previo de condiciones que podrían estar relacionadas con el evento. La fórmula es la siguiente:

P(A/B) = (P(B/A) x P(A))/P(B)

Donde:

- P(A/B)  es la probabilidad de que ocurra el evento A dado que B es verdadero.

- P(B/A) \) es la probabilidad de que ocurra el evento B dado que A es verdadero.

- P(A)  y P(B) son las probabilidades de que ocurran los eventos A y B independientemente.

El enfoque "Naive" (ingenuo) se refiere a una simplificación que se hace en el cálculo de las probabilidades: se asume que las características que se están evaluando son mutuamente independientes. Esto es, la presencia o ausencia de una característica no afecta la presencia o ausencia de otra.

Pasos para utilizar Naive Bayes en el Aprendizaje Supervisado:

1.    Recopila datos de entrenamiento: Debes tener un conjunto de datos etiquetado que contenga ejemplos de las características de entrada y sus correspondientes etiquetas de clase. Por ejemplo, si estás clasificando correos electrónicos como "spam" o "no spam", necesitas un conjunto de datos con ejemplos de correos electrónicos y sus etiquetas correspondientes.

2.    Preprocesa los datos: Limpia y preprocesa tus datos, lo que puede incluir eliminar valores atípicos, normalizar las características, y dividir los datos en conjuntos de entrenamiento y prueba.

3.    Entrena el modelo: Utiliza el conjunto de entrenamiento para entrenar tu modelo Naive Bayes. Durante este proceso, el algoritmo aprenderá a calcular las probabilidades condicionales de las características dadas las etiquetas de clase.

4.    Realiza predicciones: Una vez que el modelo está entrenado, puedes usarlo para hacer predicciones en nuevos datos. Simplemente proporciona las características de entrada y el modelo calculará la probabilidad de que pertenezcan a cada clase y seleccionará la clase con la probabilidad más alta como la predicción.

5.    Evalúa el rendimiento: Para medir qué tan bien funciona tu modelo, utiliza métricas de evaluación como precisión, recall, y F1-score en el conjunto de prueba.

6.    Ajusta hiperparámetros: Si es necesario, ajusta los hiperparámetros del modelo, como el tipo de suavizado en Naive Bayes, para obtener un mejor rendimiento.

Es importante recordar que Naive Bayes es especialmente útil cuando se tienen datos categóricos o discretos, pero puede utilizarse con datos numéricos mediante la discretización. Además, es un modelo simple y rápido, pero puede no ser la mejor opción en todos los casos, ya que su suposición de independencia puede no ser realista

 

Aplicación Práctica: Filtrado de Spam en Correos Electrónicos

El filtrado de spam es un área donde Naive Bayes ha sido históricamente utilizado con éxito. El objetivo es clasificar los correos electrónicos en "spam" o "no spam".

Paso 1: Preparación de Datos

- Seleccionamos un conjunto de datos de correos electrónicos ya etiquetados como "spam" o "no spam".

- Extraemos características de estos correos, como palabras clave, frecuencia de palabras, etc.

Paso 2: Entrenamiento del Modelo

- Calculamos la probabilidad de cada palabra en los correos "spam" y "no spam".

- Utilizamos estas probabilidades para calcular la probabilidad de que un nuevo correo sea "spam" dado su contenido.

 

Paso 3: Clasificación y Validación

- Con el modelo entrenado, clasificamos nuevos correos electrónicos.

- Validamos la eficacia del modelo utilizando técnicas como la validación cruzada.

Discusión sobre las Suposiciones y Limitaciones del Modelo

Suposiciones:

- Independencia de características: Se asume que todas las características son independientes entre sí, lo cual no siempre es cierto.

- Distribución de probabilidad: Se asume una distribución específica de los datos (como la distribución gaussiana para los valores continuos).

Limitaciones:

- Violación de la independencia: En la práctica, muchas características pueden estar correlacionadas.

- Datos no representativos: Si los datos de entrenamiento no son representativos, el modelo puede tener un rendimiento deficiente.

- Manejo de características no vistas: El modelo puede tener dificultades para manejar nuevas características (palabras) que no estaban presentes en los datos de entrenamiento.

 

En resumen, Naive Bayes es un modelo poderoso y eficiente para ciertas aplicaciones, como el filtrado de spam, pero es importante ser consciente de sus suposiciones y limitaciones al aplicarlo.

A continuación se presenta un ejemplo con gráfica para Correos Spam vs No Spam.

Código generado en interpretado por Google colap.:




He generado un conjunto de datos ficticios para ilustrar la aplicación de Naive Bayes en el filtrado de spam. Aquí está la visualización de los datos y los resultados de la aplicación del modelo:

Visualización de Datos

La gráfica muestra dos grupos de puntos:

- Los puntos rojos representan correos electrónicos clasificados como 'spam' (etiqueta 1).

- Los puntos verdes representan correos electrónicos clasificados como 'no spam' (etiqueta 0).

La frecuencia de una palabra específica se usa como característica, con diferentes distribuciones para cada grupo.

Resultados del Modelo

- Precisión del modelo: 0.95

- Matriz de confusión:

  - Verdaderos positivos (TP): 99

  - Falsos positivos (FP): 3

  - Falsos negativos (FN): 7

  - Verdaderos negativos (TN): 91

 

Comentarios:

Esta precisión indica que el modelo es bastante efectivo en clasificar los correos electrónicos como spam o no spam, basado en la frecuencia de una palabra dada. La matriz de confusión proporciona una desglosación detallada de los aciertos y errores del modelo.

La aplicación es infinita, por ejemplo se utilizaría mucho en las probabilidades de ocurrencia de generación de predicciones climáticas para un lugar determinado, especialmente para planificar las diferentes actividades agrícolas y pecuarias de un una zona o región de un Pais.

Ahora están cada vez mas precisos las predicciones que se han dado en las diferentes estaciones meteorológias de nuestro País, tenemos dos o tres días de datos precisos sobre ocurrencias de estos eventos.



Comentarios

Entradas más populares de este blog

4. LA REGRESIÓN LOGÍSTICA

5. Aplicación Práctica: Árboles de Decisión (Aprendizaje Supervisado)

7. EXPLICACIÓN DEL ALGORITMO DE K-MEANS