Correct,  actually the example will not work with another dataset after the 
seq2sparse step.  You'd have to write some vectorization methods which would 
use the dictionary-0 file from the output of your seq2sparse run on the 
training data to vectorize your out of sample text.  You could then run mahout 
testnb on that set


The scala example I mentioned earlier has an outline for writing such a method, 
although only goes as far as a single document tokenized into unigrams.




________________________________
From: Alok Tanna <tannaa...@gmail.com>
Sent: Thursday, January 14, 2016 5:00 PM
To: user@mahout.apache.org; ap....@outlook.com
Subject: Re: Mahout : 20-newsgroups Classification Example : Split command

Thank you Andrew for your inputs. I will try the example in Scala .

So this example of 20-newsgroup cannot be used with other data sets to test it 
once the split is done , is that right ?

Thanks,
Alok Tanna

On Thu, Jan 14, 2016 at 4:26 PM, Andrew Palumbo 
<ap....@outlook.com<mailto:ap....@outlook.com>> wrote:
The poor results you are seeing by testing are because you've run seq2sparse on 
each set independently.   This will create two different dictionaries, which 
serve as the vector index for each term in your vocabulary.  You must use the 
same dictionary that you trained your model on to vectorize your holdout set.  
There is an example for doing this in Scala, using the new Mahout Samsara 
environment here:

http://mahout.apache.org/users/environment/classify-a-doc-from-the-shell.html

See the "Define a function to tokenize and vectorize new text using our current 
dictionary" section.



________________________________________
From: Alok Tanna <tannaa...@gmail.com<mailto:tannaa...@gmail.com>>
Sent: Thursday, January 14, 2016 2:31 PM
To: user@mahout.apache.org<mailto:user@mahout.apache.org>
Subject: Mahout : 20-newsgroups Classification Example : Split command

Hi ,

This request is in referece to the 20-newsgroups Classification Example on
the below link
https://mahout.apache.org/users/classification/twenty-newsgroups.html

I am able to run the example and get the results as mentioned in the link,
but when I am trying to do this example without the split command the
results are not same. Also when I try to run the other test data against
the same model results are not accurate.

Can we have this example run without the split command ?

Basically I am trying to do this :

I took both the datasets for training & testing.

Run below commands on both sets:
1. seqdirectory
2. seq2sparse

Now I  have vectors generated for both datasets.
- Run trainnb command using first dataset's vectors output. So instead of
training a model on 80% of the data, I am  using the whole dataset.
- Run testnb command using second dataset's vectors output. This is not the
20% of the data, it's completely new dataset, solely used for testing.

So instead of using mahout split, we I have specified separate dataset for
testing the model.

Results for this exercise is totally different then what I get when I am
using split command to split the data .


Thanks & Regards,

Alok R. Tanna



--
Thanks & Regards,

Alok R. Tanna

Reply via email to