Como primer pensamiento, esto significa que al menos su conjunto de entrenamiento no es representativo de los datos de la aplicación. Si el conjunto de prueba es representativo es una pregunta en la que, en mi humilde opinión, debería pensar con mucho cuidado. En este contexto, también es importante averiguar si estas clases faltantes son un problema de que el conjunto de entrenamiento en particular sea demasiado pequeño, o si esta es una característica general del problema / tarea / aplicación. Es decir, si nuevas clases que nunca se han encontrado antes aparecerán todo el tiempo.
En principio, veo dos posibilidades de lidiar con esta situación:
Digamos que el conjunto de entrenamiento no es representativo y solicite más datos, en particular los datos de las clases faltantes. Esto tiene sentido en caso de que llegue a la conclusión de que el problema radica en el conjunto de entrenamiento particular, no en las características generales de la aplicación.
En cualquier caso, sabiendo que los datos de entrenamiento faltan a las clases, consideraría usar un clasificador de una clase. Es decir, un clasificador que trata cada clase independientemente de cualquier otra clase posible. Idealmente, un clasificador de una clase debería devolver "clase desconocida" para los casos de prueba de clases que no han estado disponibles para capacitación. Para los clasificadores de una clase, probar este "rechazo" de casos que pertenecen a clases verdaderamente desconocidas realmente tiene sentido.
editar el comentario de wrt @ gung: supongo que la división de tren / prueba se solucionó por alguna buena razón .