1

I would like to load a model I trained before and then update this model with new training data. But I found this task hard to accomplish.

I have learnt from Weka Wiki that

Classifiers implementing the weka.classifiers.UpdateableClassifier interface can be trained incrementally.

However, the regression model I trained is using weka.classifiers.functions.MultilayerPerceptron classifier which does not implement UpdateableClassifier.

Then I checked the Weka API and it turns out that no regression classifier implements UpdateableClassifier.

How can I train a regression model in Weka, and then update the model later with new training data after loading the model?

desertnaut
  • 57,590
  • 26
  • 140
  • 166
swarm
  • 11
  • 3

2 Answers2

0

I have some data mining experience in Weka as well as in scikit-learn and r and updateble regression models do not exist in weka and scikit-learn as far as I know. Some R libraries however do support updating regression models (take a look at this linear regression model for example: http://stat.ethz.ch/R-manual/R-devel/library/stats/html/update.html), so if you are free to switching data mining tool this might help you out.

If you need to stick to Weka than I'm afraid that you would probably need to implement such a model yourself, but since I'm not a complete Weka expert please check with the guys at weka list (http://weka.wikispaces.com/Weka+Mailing+List).

Niek Tax
  • 841
  • 1
  • 11
  • 30
0

The SGD classifier implementation in Weka supports multiple loss functions. Among them are two loss functions that are meant for linear regression, viz. Epsilon insensitive, and Huber loss functions.

Therefore one can use a linear regression trained with SGD as long as either of these two loss functions are used to minimize training error.

shark8me
  • 638
  • 8
  • 9