It looks like I may have spoken too soon. With cvb from the trunk, the *values* of the document/topic inferences are now correct, but the topics appear to be ordered differently in the topic/term distribution matrix and the document/topic inference matrix. Because of this permutation, you can't tell which topics go with which documents: I tested using the following term-frequency matrix: Key: 0: Value: /d01:{0:30.0,1:10.0,} Key: 1: Value: /d02:{0:60.0,1:20.0,} Key: 2: Value: /d03:{0:30.0,1:10.0,} Key: 3: Value: /d04:{0:60.0,1:20.0,} Key: 4: Value: /x01:{2:30.0,3:30.0,} Key: 5: Value: /x02:{2:60.0,3:60.0,} Key: 6: Value: /x03:{2:30.0,3:30.0,} cvb produced the following topic/term distributions 4.166667614017639E-11,4.166662983931827E-11,0.4999999999583334,0.4999999999583334 0.7499999999583331,0.24999999995833333,4.1666664564961835E-11,4.1666664564961835E-11 and the following document/topic inferences 0.9999999999166667,8.333330597949465E-11 0.9999999999166667,8.333330597949465E-11 0.9999999999166667,8.333330597949465E-11 0.9999999999166667,8.333330597949465E-11 8.33333291299237E-11,0.9999999999166668 8.33333291299237E-11,0.9999999999166668 8.33333291299237E-11,0.9999999999166668 Four documents have the 3:1:0:0 term distribution and three have the 0:0:1:1 term distribution, so either the columns of the document/topic inferences are reversed or the rows of the topic/term distributions are. Mark On Tue, Jun 25, 2013 at 1:23 PM, Mark Wicks wrote: > Sebastian, > > Yes, cvb works well after applying that patch (and the document/topic > inferences make sense now). > > Thanks! > Mark > > > On Tue, Jun 25, 2013 at 12:23 AM, Sebastian Schelter > wrote: > > Hi Mark, > > > > I think I broke this code when I cleaned up LDA recently. Can you see > > whether everything works after applying the patch attached to > > https://issues.apache.org/jira/browse/MAHOUT-1268 ? > > > > Thanks, > > Sebastian > > > > On 24.06.2013 18:57, Mark Wicks wrote: > >> Thanks for the response. > >> > >> The command line I used is > >> > >> mahout cvb -ow -dict sparse/dictionary.file-0 -i matrix/matrix -o > >> cvb/topics -dt cvb/classifications -block 2 -x 2 -cd 1e-10 -k2 > >> -seed 6956 -tf 0.25 > >> > >> This completes with no errors in Mahout 0.7. With Mahout/cvb from > trunk I get: > >> > >> 13/06/24 12:48:32 INFO cvb.CVB0Driver: About to run: Writing final > >> topic/term distributions from temp/topicModelState/model-2 to > >> cvb/topics > >> 13/06/24 12:48:32 INFO input.FileInputFormat: Total input paths to > process : 10 > >> 13/06/24 12:48:33 INFO cvb.CVB0Driver: About to run: Writing final > >> document/topic inference from matrix/matrix to cvb/classifications > >> 13/06/24 12:48:33 INFO mapred.JobClient: Cleaning up the staging area > >> hdfs:// > 192.168.84.8:9000/tmp/hadoop-hadoop/mapred/staging/mwicks/.staging/job_201304292057_0252 > >> 13/06/24 12:48:33 ERROR security.UserGroupInformation: > >> PriviledgedActionException as:mwicks > >> cause:org.apache.hadoop.mapred.FileAlreadyExistsException: Output > >> directory cvb/topics already exists > >> Exception in thread "main" > >> org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory > >> cvb/topics already exists > >> at > org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:137) > >> at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:949) > >> at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:912) > >> at java.security.AccessController.doPrivileged(Native Method) > >> at javax.security.auth.Subject.doAs(Subject.java:415) > >> at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1149) > >> at > org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:912) > >> at org.apache.hadoop.mapreduce.Job.submit(Job.java:500) > >> at > org.apache.mahout.clustering.lda.cvb.CVB0Driver.writeDocTopicInference(CVB0Driver.java:463) > >> at > org.apache.mahout.clustering.lda.cvb.CVB0Driver.run(CVB0Driver.java:339) > >> at > org.apache.mahout.clustering.lda.cvb.CVB0Driver.run(CVB0Driver.java:198) > >> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) > >> at > org.apache.mahout.clustering.lda.cvb.CVB0Driver.main(CVB0Driver.java:534) > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >> at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > >> at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > >> at java.lang.reflect.Method.invoke(Method.java:601) > >> at > org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68) > >> at > org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139) > >> at > org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:195) > >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >> at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > >> at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > >> at java.lang.reflect.Method.invoke(Method.java:601) > >> at org.apache.hadoop.util.RunJar.main(RunJar.java:156) > >> > >> > >> I am certain that "cvb/topics" did not exist before running "mahout > >> cvb". After the error, cvb/topics exists and contains data, but > >> cvb/classifications does not exist. > >> > >> Mark > >> > > >