2010-11-09 11 views
11

Estoy tratando de resolver un problema de clasificación simple.Clasificar datos usando Apache Mahout

El problema:
Tengo un conjunto de texto y tengo que clasificarlos en función del contenido.

Solución usando Mahout:
Entendí que tengo que convertir la entrada a un archivo de secuencia para generar el modelo. Sí, pude hacer esto. Ahora, ¿cómo clasifico mis datos de prueba? El ejemplo 20News solo prueba la corrección. Pero, quiero hacer la clasificación real.
No estoy seguro si necesito escribir código o usar algunas clases existentes disponibles para clasificar el conjunto de prueba.

Respuesta

3

No me gusta conectar mi propio trabajo, pero ponemos toda una sección en Mahout en acción sobre la clasificación. Teoría, ejemplos de código, práctica de estudio de casos, incluso una implementación de granja de servidores completa.

Puede obtener la versión preliminar en http://www.manning.com/owen/

+14

OMI, las secciones de la clasificación en el libro podría mejorarse. Las secciones sobre clasificación son prolijas, poco claras y, a menudo, no sequitur. Podría haber más ejemplos de codificación java y menos ejemplos de bash shell. La sección de clasificación podría ser mejor si se escribiera más como los capítulos de introducción: Mostrar el formato para los archivos de clasificación, cómo leerlos, cómo cargarlos en su clasificador, una vez entrenado, cómo usar el clasificador para clasificar una nueva muestra. –

+8

Ojalá Mahout tenga más y mejor documentación. Las personas que son expertas en el aprendizaje automático tienen dificultades para comprender la estructura del conducto de procesamiento y la arquitectura del código. Incluso los javadocs usan terminología inapropiada (setGramSize debe establecerse en GNGramSize). La pequeña semántica crea una GRAN diferencia en la comprensión de conceptos y códigos. –

3

Tengo un problema similar.

Correr

bin/mahout org.apache.mahout.classifier.Classify --path <PATH TO MODEL> --classify <PATH TO TEXT FILE TO BE CLASSIFIED> --encoding UTF-8 --analyzer org.apache.mahout.vectorizer.DefaultAnalyzer --defaultCat unknown --gramSize 1 --classifierType bayes --dataSource hdfs 

clasificará un archivo de texto basado en el modelo.

Esto podría llevarlo un poco más adelante, pero supongo que, como yo, desea clasificar toda una carga de documentos y desea que la salida tenga un formato útil.

Podría tener que programar un poco de Java para hacer esto. Alguien tiene un ejemplo que parece que va a hacer lo que yo quiero en https://bitbucket.org/jaganadhg/blog/src/tip/bck9/java/src/org/bc/kl/ClassifierDemo.java

Cuestiones relacionadas