1 votos

Naive Bayes en la clasificación de textos - Sólo clasifica "0"

Tengo un conjunto de datos de 1000 opiniones de la categoría "arte" de Amazon. Quiero clasificar las valoraciones Positiva +1, Negativa -1, Neutral 0 utilizando las reseñas de los usuarios. El clasificador final de Naive Bayes sólo predice 0 para toda la muestra de entrenamiento. Voy a escribir mi proceso de construcción del clasificador y quiero saber por qué está fallando para clasificar otras clases.

  1. Encuentre todas las palabras únicas en las 1000 reseñas y acorte las palabras (por ejemplo: complacido, agradable -> por favor).
  2. Construir la matriz de características (1000 X tamaño del vector de palabras únicas) donde cada elemento es el número de veces que la palabra única aparece en el documento
  3. La operación por filas se multiplica por idf -> A 1 X (# de vector de palabras únicas). (# de documentos / # de documentos en los que aparece la palabra (i))
  4. Establecer Y como 3 factores (-1,0 o 1) 1000 X 1
  5. Entrenar y predecir

Resultados:

                actual
    predicted  -1   0   1
           -1   0   0   0
            0  150  92 758
            1   0   0   0

¿Me falta algo en la mezcla? Voy a publicar el código si se solicita, pero creo que mis procesos se hacen correctamente.

0voto

Simon Puntos 31

¿Has probado la siguiente función? Si elige normalizar = TRUE puede categorizar sus valores ponderados tf-idf.

dtm <- DocumentTermMatrix(data, control = list(weighting = function(x) weightTfIdf(x, normalize = TRUE)))

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X