I am using Weka GUI for a classification. I am new to Weka and getting confused with the options
- Use training Set
- Supplied test set
- Cross validation
to train my classification algorithm (for example J48), I trained with cross validation 10 folds and the accuracy is pretty good (97%). When I test my classification - the accuracy drops to about 72%. I am so confused. Any tips please? This is how I did it:
- I train my model on the training data (For example:
train.arff) - I right-click in the Results list on the item which model you want to save
select Save model and save it for example as
j48tree.model
and then
- I load the test data (for example:
test.arffvia the Supplied test set button - Right-click in the Results list, I selected Load model and choose j48tree.model
- I selected
Re-evaluate model on current test set
Is the way i do it wrong? Why the accuracy miserably dropping to 72% from 97%? Or is doing only the cross-validation with 10 folds is enough to train and test the classifier?
Note: my training and testing datasets have the same attributes and labels. The only difference is, I have more data on the testing set which I don't think will be a problem.