3
$\begingroup$

I was wondering from those with commercial machine learning financial experience, what the machine learning language of choice in this industry in the most general sense.

Also, what would be the best language for adaptive, unsupervised machine learning, in order to inform trading decisions.

When I say best I mean a balance of speed and developer productivity, and to some extent existing libraries, although with generic deep learning tools this might weigh in less.

$\endgroup$
  • 1
    $\begingroup$ R for both questions $\endgroup$ – vonjd Jul 3 '15 at 12:43
4
$\begingroup$

R.

The others in-play are Python and, increasingly, Scala. But if you're trying to create or test a machine learning algorithm for a new problem, it's R.

Update July 2, 2017: This answer came up in my feed because of an upvote, so I suppose its worth updating.

These days there are a few key deciding factors in what language I choose for a problem. It the problem is to perform an analysis of data that can't fit in-memory on one machine, then I'm probably going to use Scala for Spark. If it can fit in-memory and the data is of a form where the relevant fields are either numbers or categories, then I'm going to use R. If the data contains text or images, then I'm more likely to use Python (unless I intend to use one of the R text modelling packages.)

$\endgroup$
  • $\begingroup$ Thanks, I'm curious to why you would use R for a new algorithm vs Scala? $\endgroup$ – Nikos Jul 3 '15 at 18:31
  • 1
    $\begingroup$ For the same reason to use R at all, it's much faster to develop a data processing app in. That's both because of the features of the language, and the large body of existing packages you can integrate or learn code from. Don't get me wrong, I think Scala is a great language, but for data apps, the Dev time is just fractions as much in R. $\endgroup$ – Bob Jul 3 '15 at 18:37
  • $\begingroup$ I personally wouldn't put Scala on that list, it's mostly used for distributed processing on Spark/Hadoop (though you could also do that in python/R) and its ML capabilities are pretty limited to the basics. For algorithm prototyping, I would also put Matlab/Octave next to R. $\endgroup$ – Digio Jun 5 '18 at 7:37
  • $\begingroup$ I agree with @digio - since I originally wrote that answer, I've seen less discussion of scala outside the spark context. I think spark is actually a pretty important subset of data science, though. $\endgroup$ – Bob Jun 19 '18 at 18:38
3
$\begingroup$

Python. Scikit-learn is a powerful machine learning library written in Python. In addition to libraries such as stats models and tensor-flow. Python is a stable production-level language (also used by Quantopian).

For unsupervised learning, you may want to look into affinity propagation, DBSCAN or Dirichlet-Process K-Means algorithms that do not require the knowledge of clusters ahead of time. For text data, LDA and on-line HDP are useful in learning the topics.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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