It's Python.
A bot lingua franca does not exist: Your machine-learning options for walking the talk
So, you want to create a hugely successful machine-learning startup? Or you've been asked to start investigating ML for your firm? Well, you'd better get programming – but what language should you use? No languages have been designed specifically with ML in mind, but some do lend themselves to the task. Developers …
COMMENTS
-
Tuesday 25th April 2017 11:23 GMT Andy 73
Hmmm..
No mention of Scala or Spark ML? Not convinced. Not that they're the 'best choice', but if you're listing options, I'd expect them to be there.
My experience is we get a bunch of guys who've used a range of tools in an academic environment, and thus have used whatever language or package happened to come to hand to most easily solve their particular problem.
Then they have to face a production system designed around all the usual requirements for uptime, release management, security, versioning, testing and so on. The range of options when you have petabytes of data being generated in real-time is somewhat smaller, especially if you have any sane constraints on hardware (after all, you probably have a few hundred machines in your cluster, you can't justify doubling that just because a particular project runs a bit slow). Businesses at this sort of scale only want limited exposure to tools that cannot be proven to be robust. DevOps have no desire to install yet another package just to satisfy your needs, when it probably needs yet another license audit, release cycle and further support.
Suddenly, you have a bunch of guys who are jumping through hoops not to give up their language of choice because they've got into the mindset that you have to have the right language to solve the problem. And in the process they've completely failed to understand the architectural techniques needed to deliver robust, performant solutions - believing that because they once saw Perl running quickly, it's the only way to deliver at scale.
Then you look at the business analysts who have demanded some horrendous SQL shim over your 'big data' just because they're incapable of learning a new language, and you can see where this is all going.
-
Tuesday 25th April 2017 14:13 GMT edwardmartinsjr
We have some libs in golang...
Libraries for Machine Learning.
bayesian - Naive Bayesian Classification for Golang.
CloudForest - Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go.
gago - Multi-population, flexible, parallel genetic algorithm.
go-fann - Go bindings for Fast Artificial Neural Networks(FANN) library.
go-galib - Genetic Algorithms library written in Go / golang
go-pr - Pattern recognition package in Go lang.
gobrain - Neural Networks written in go
godist - Various probability distributions, and associated methods.
goga - Genetic algorithm library for Go.
GoLearn - General Machine Learning library for Go.
golinear - liblinear bindings for Go
goml - On-line Machine Learning in Go
goRecommend - Recommendation Algorithms library written in Go.
gorgonia - graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms.
libsvm - libsvm golang version derived work based on LIBSVM 3.14.
mlgo - This project aims to provide minimalistic machine learning algorithms in Go.
neural-go - A multilayer perceptron network implemented in Go, with training via backpropagation.
probab - Probability distribution functions. Bayesian inference. Written in pure Go.
regommend - Recommendation & collaborative filtering engine
shield - Bayesian text classifier with flexible tokenizers and storage backends for Go
FONT: https://github.com/avelino/awesome-go#machine-learning
-
-
Tuesday 25th April 2017 21:30 GMT John Gamble
Julia
Julia is definitely a powerful language -- but it's just about to release version 0.6. The goal is to have every corner of the language nailed down by version 1.0, and that goal is very close (the Github repository is here), but if you start using it now, you have to be willing to risk having some code go obsolete on you.
(My projects in Julia are definitely in the "toy" area right now, so the updates are fairly painless to me.)
-
Wednesday 26th April 2017 03:48 GMT Sysgod
WTF is this crap
Statistical pattern matching. How utterly practical. And boring.
Tell me about a package that understands stimulus and response. Something that knows how to learn. Something that knows how to build upon its learning.
A group of cells in any brain learns to manage all its systems in the body and learns to balance itself so as not to destroy itself as things change from conception. We can do this too guys!