2011-11-14 3 views
2

J'ai essayé de déployer 20- exemple de groupe de nouvelles avec mahout, cela semble fonctionner correctement. Par curiosité, je voudrais creuser profondément dans les statistiques du modèle,Mahout - Naive Bayes

par exemple: répertoire Bayes-modèle contient les sous-répertoires suivants,

formateur-TFIDF formateur-thetaNormalizer formateur-poids

qui contient fichiers de la partie-0000. Je voudrais lire le contenu du fichier pour une meilleure compréhension, commande de chat ne semble pas fonctionner, il imprime des déchets.

Toute aide est appréciée.

Merci

Répondre

5

Les fichiers 'partie 00000' sont créés par Hadoop, et sont au format de Hadoop SequenceFile, contenant des valeurs spécifiques à Mahout. Vous ne pouvez pas les ouvrir en tant que fichiers texte, non. Vous pouvez trouver la classe d'utilitaire SequenceFileDumper dans Mahout qui va essayer de sortir le contenu en tant que texte sur stdout. Pour ce qui est de ces valeurs, ce sont des résultats intermédiaires du calcul Hadoop multi-étapes effectué par Mahout.

Vous pouvez lire le code pour avoir une meilleure idée de ce que sont ces codes. Le répertoire "tfidf" contient par exemple des calculs intermédiaires liés à la fréquence des termes.

3

Vous pouvez lire les fichiers de la partie-0000 en utilisant l'option de système de fichiers de hadoop. Procurez-vous dans le répertoire Hadoop et tapez

`bin/hadoop dfs -text /Path-to-part-file/part-m-00000` 

partie m-00000 sera imprimé à STDOUT. Si elle vous donne une erreur, vous devrez peut-être ajouter la variable HADOOP_CLASSPATH à votre chemin. Par exemple, si après l'exécution il vous donne

texte: java.io.IOException: WritableName ne peut pas charger la classe: org.apache.mahout.math.VectorWritable

puis ajoutez la classe correspondante à la HADOOP_CLASSPATH variables

export HADOOP_CLASSPATH=/src/mahout/trunk/math/target/mahout-math-0.6-SNAPSHOT.jar 

Cela a fonctionné pour moi;)

0

pour lire la partie-00000 (fichiers de séquence), vous devez utiliser le "seqdumper" uti lité. Voici un exemple j'ai utilisé pour mes expériences:

MAHOUT_HOME $: bin/cornac seqdumper -s ~/cluster/expériences-v1/T14/TFIDF vecteurs/partie-r-00000 -o ~/vecteurs -v2-1010

-s est le fichier de séquence que vous voulez convertir en texte brut

-o est le fichier de sortie

Questions connexes