¿Cómo manejar un factor cero en el cálculo del clasificador Naive Bayes?

14

Si tengo un conjunto de datos de entrenamiento y entreno un Clasificador Naive Bayes en él y tengo un valor de atributo que tiene probabilidad cero. ¿Cómo manejo esto si luego quiero predecir la clasificación en los nuevos datos? El problema es que si hay un cero en el cálculo, todo el producto se convierte en cero, sin importar cuántos otros valores obtuve, lo que tal vez encuentre otra solución.

Ejemplo:

PAG(XEl |spagunmetro=ymis)=PAG(TyometromiZonortemi=USEl |spagunmetro=ymis)PAG(solmioLoCuntyoonorte=miUEl |spagunmetro=ymis) ... =0.004

P(x|spam=no)=P(TimeZone=US|spam=norteo)PAG(solmioLoCuntyoonorte=miUEl |spagunmetro=norteo) ... =0 0

Todo el producto se convierte en porque en los datos de entrenamiento el atributo TimeZone US siempre es Sí en nuestro pequeño conjunto de datos de entrenamiento. ¿Cómo puedo manejar esto? ¿Debo usar un conjunto más grande de datos de entrenamiento o hay otra posibilidad de superar este problema?0 0

fragante
fuente
Si obtiene un valor de atributo discreto, su probabilidad no puede ser cero, por definición.
Paul
por qué agregamos un problema de frecuencia 1 en 0 cuál es la lógica detrás de esto por qué no agregamos otro número.
Aftab Hussaiin

Respuestas:

13

Un enfoque para superar este 'problema de frecuencia cero' en un entorno bayesiano es agregar uno al recuento para cada combinación de valor-clase de atributo cuando no se produce un valor de atributo con cada valor de clase. Entonces, por ejemplo, digamos que sus datos de entrenamiento se veían así:

Correo no deseado=ymisCorreo no deseado=norteoZona horaria=US105 5Zona horaria=miU0 00 0

PAG(Zona horaria=USEl |Correo no deseado=ymis)=1010=1

PAG(Zona horaria=miUEl |Correo no deseado=ymis)=0 010=0 0

Luego, debe agregar uno a cada valor en esta tabla cuando lo esté usando para calcular probabilidades:

Correo no deseado=ymisCorreo no deseado=norteoZona horaria=US116 6Zona horaria=miU11

PAG(Zona horaria=USEl |Correo no deseado=ymis)=1112

PAG(Zona horaria=miUEl |Correo no deseado=ymis)=112

Timleathart
fuente
44
En efecto. Tenga en cuenta que en algún momento puede agregar valores distintos de uno. Para más detalles ver en.wikipedia.org/wiki/Additive_smoothing
DaL