ykh
ykh

Reputation: 1825

WEKA Incremental Learning?

The idea of incremental learning that i understand, is that after Training, i save my model and when i have new data, instead of training the old data with new one, i just load the model i have saved and train again using the new data and the new trained model would build on top of the old one.

I have searched for this in WEKA and i found that this can be done using "Incremental Algorithms". I know that Hoefdding-Tree is an incremental version of the J48 algorithm but i am not sure how do the incremental learning.

If anybody could explain if this is possible in WEKA and how it could be done.

Upvotes: 3

Views: 1446

Answers (1)

ykh
ykh

Reputation: 1825

In order to do incremental learning in WEKA, you have to choose classifiers that implement an UpdatableClassifer Interface. There are 10 classifiers that can do this. Note that this can only be done using either coding or command line.

You have to first build your model from training data, then save the model. After that you use the same model and train more.

Using HoefddingTree algorithm, it would be something like this:

java weka.classifiers.trees.HoeffdingTree -L 2 -S 0 -E 1.0E-7 -H 0.1 -M 0.01 -G 200.0 -N 0.0 -t Training.arff -no-cv -d ht.model

java weka.classifiers.trees.HoeffdingTree -t Training.arff -T Testing.arff -l  ht.model -d ht.updated.model 

of-course there is no need to specify the training parameter again when updating the model because these settings are already saved in the model.

For more information:

http://weka.8497.n7.nabble.com/WEKA-Incremental-Learning-Training-td35691.html
https://weka.wikispaces.com/Classification-Train/test%20set#Classification-Building a Classifier-Incremental

Upvotes: 3

Related Questions