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
Publicar un comentario