2010-11-09 38 views
11

J'essaie de résoudre un problème de classification simple. Le problème:
J'ai un ensemble de texte et je dois les classer en fonction du contenu. J'ai compris que je devais convertir l'entrée en un fichier de séquence pour générer le modèle. Oui, j'étais capable de faire ça. Maintenant, comment classer mes données de test? L'exemple 20News ne vérifie que l'exactitude. Mais, je veux faire la classification réelle.
Je ne suis pas sûr si j'ai besoin d'écrire du code ou utiliser des classes existantes disponibles pour classer l'ensemble de test.Classer les données en utilisant Apache Mahout

Répondre

3

Je déteste brancher mon propre travail, mais nous avons mis une section entière dans Mahout in Action sur la classification. Théorie, exemples de code, pratique d'étude de cas, même une implémentation entière de ferme de serveurs.

Vous pouvez obtenir la version pré-version à http://www.manning.com/owen/

+14

OMI, les sections sur le classement dans le livre pourrait être amélioré. Les sections sur la classification sont verbeuses, peu claires et, souvent, non séquentielles. Il pourrait y avoir plus d'exemples de codage Java et moins d'exemples de shell bash. La section de classification pourrait être meilleure si elle était écrite plus comme les chapitres d'introduction: Afficher le format des fichiers de classification, comment les lire, comment les charger dans votre classificateur, une fois formé, comment utiliser le classificateur pour classer un nouvel échantillon. –

+8

Je souhaite que Mahout possède une documentation plus complète et de meilleure qualité. Les personnes expertes en apprentissage automatique ont de la difficulté à comprendre la structure du pipeline de traitement et l'architecture du code. Même les javadocs utilisent une terminologie inappropriée (setGramSize devrait être setNGramSize). La petite sémantique fait une énorme différence dans la compréhension des concepts et du code. –

3

J'ai un problème similaire.

Courir

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 

classera un fichier texte basé sur le modèle. Cela peut vous permettre d'avancer un peu plus loin, mais je suppose que, comme moi, vous voulez classer toute une série de documents et que vous voulez que la sortie soit dans un format utile.

Vous devrez peut-être programmer un peu de Java pour cela. Quelqu'un a un exemple qui semble faire ce que je veux à https://bitbucket.org/jaganadhg/blog/src/tip/bck9/java/src/org/bc/kl/ClassifierDemo.java