Pregunta

Estoy usando la función de explorador de Weka para la clasificación.

Tengo mi archivo .arff, con 2 características de valor NUMÉRICO, y mi clase es un 0 o 1 binario (por ejemplo, {0,1}).

Muestra:

@RELATION summary
@ATTRIBUTE feature1 NUMERIC
@ATTRIBUTE feature2 NUMERIC
@ATTRIBUTE class {1,0}

@DATA
23,11,0
20,100,1
2,36,0
98,8,1
.....

Cargo este archivo .arff, uso 10 veces la validación cruzada (no hay archivo de prueba), elijo NaiveBayes, luego clasifico los datos y me da: 5 incorrectamente etiquetados, 100 etiquetados correctamente. Hasta ahora todo bien.

Ahora, cambio significativamente mi archivo .arff (doy valores completamente aleatorios para mis atributos de características). Y repita lo anterior, y obtengo las mismas estadísticas EXACTAS al clasificar.

Intenté esto con más cambios en mi archivo .arff, diferentes algoritmos de clasificación. Sin embargo, la misma estadística EXACTA (dentro del mismo algoritmo) no importa qué valores le de a mi archivo .arff.

¿Estoy haciendo algo mal aquí?

¿Fue útil?

Solución

Es difícil decirlo sin más información, pero tengo dos sugerencias:

  1. ¿Cuáles son las proporciones relativas de las dos clases? ¿Es de 5 a 100? Muchos algoritmos no funcionan bien con distribuciones de etiquetas de clase altamente sesgadas.

  2. Solo una corazonada, pero intente cambiar las etiquetas de su clase de números a cadenas (por ejemplo, 'class1' y 'class2'). Weka llama a estos atributos "nominales", por lo que tal vez no se permita el uso de números.

Otros consejos

También: tenga en cuenta que la validación cruzada es bastante horrible en la interfaz de usuario, ya que de todos modos solo le muestran el árbol original (antes de que se pliegue en otros datos). Si desea que se generen los árboles finales, necesita la API programática. Sugiero usar un conjunto de datos de entrenamiento / prueba divididos.

¿Has intentado cambiar

@ATTRIBUTE class {1,0} 

con

@ATTRIBUTE class {yes,no} 
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top