3
$\begingroup$

I am looking for packages (either in python, R, or a standalone package) to perform online learning to predict stock data.

I have found and read about Vowpal Wabbit (https://github.com/JohnLangford/vowpal_wabbit/wiki), which seems to be quite promising but I am wondering if there are any other packages out there.

Thanks in advance.

$\endgroup$

3 Answers 3

1
$\begingroup$

If you are willing to try Julia (or pyjulia for calling Julia from Python), there is OnlineStats.jl. The StatLearn type for statistical learning may be of use to you.

$\endgroup$
0
$\begingroup$

Late answer, but...

Liblinear (standalone)

The authors recently released a new, faster version. A multi-threaded implementation is also available. LIBLINEAR is a linear classifier for data with millions of instances and features. It supports :

  • L2-regularized classifiers
  • L2-loss linear SVM, L1-loss linear SVM, and logistic regression (LR)
  • L1-regularized classifiers
  • L2-loss linear SVM and logistic regression (LR)
  • L2-regularized support vector regression
  • L2-loss linear SVR and L1-loss linear SVR.

Sofia (R, standalone)

Google released Sofia, which is also callable from R through RSofia. It performs regressions, classification and ranking through:

  • Pegasos SVM
  • Stochastic Gradient Descent (SGD)
  • SVM Passive-Aggressive
  • Perceptron Perceptron with Margins
  • ROMMA
  • Logistic Regression (with Pegasos Projection)

There is an implementation of online kmeans, which is available in the source code, but not in the R package.

Online random forests (Python, standalone)

Some implementation of online random forests are available on git. To mention a few : here is a C standalone implementation and here is a python implementation. Note that the theory is at its early stages, new implementations may come latter.

$\endgroup$
1
  • $\begingroup$ I doubt that LIBLINEAR can perform in online learning setting, as most of the tools in Sofia toolbox. $\endgroup$ Feb 12, 2016 at 19:48
0
$\begingroup$

The Weka library (implemented in Java) has support for online learning as well. The term Weka uses is "updateable classifier", that is, an algorithm that can learn from a single training instance, and it doesn't need the entire dataset to be available in memory.

Here's the list of classifiers supported, that are capable of online learning.

$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.