You come from a JavaScript background and don't want to go through all the Python related setup to get going with some machine learning? Check out libraries for JavaScript, there are a few!
๐ Table of contents
- Machine learning tools JavaScript by mljs
- Machine Learning by junku901
- Convnetjs by karpathy
- Synaptic by cazala
- Mind by stevenmiller888
โEnjoyment appears at the boundary between boredom and anxiety, when the challenges are just balanced with the person's capacity to act.โ โ Mihaly Csikszentmihalyi
Machine learning tools JavaScript by mljs
This library is a compilation of the tools developed in the mljs organization. It is mainly maintained for use in the browser.
Covered tools:
- Unsupervised learning
- Supervised learning
- Artificial neural networks (ANN)
- Regression
- Optimization
- Math
- Statistics
- Data preprocessing
- Utilities like
- Bit array operations
- Hash table
- Pad array
- Binary search
- Number comparison functions for sorting
Actively maintained and a wide variety of features! Well done!
Machine Learning by junku901
Covered features:
- Logistic Regression
- MLP (Multi-Layer Perceptron)
- SVM (Support Vector Machine)
- KNN (K-nearest neighbors)
- K-means clustering
- 3 Optimization Algorithms (Hill-Climbing, Simulated Annealing, Genetic - Algorithm)
- Decision Tree
- NMF (non-negative matrix factorization)
It also offers an incredible browser demo here: http://joonku.com/project/machine_learning
Unfortunately it doesn't seem to be maintained :(
However, great job!
Convnetjs by karpathy
Covered features:
- Common Neural Network modules (fully connected layers, non-linearities)
- Classification (SVM/Softmax) and Regression (L2) cost functions
- Ability to specify and train Convolutional Networks that process images
- An experimental Reinforcement Learning module, based on Deep Q Learning
It also offers an incredible browser demo here: http://cs.stanford.edu/people/karpathy/convnetjs/index.html
Unfortunately it is not maintained :( But nevertheless a great package for learning and playing around.
Synaptic by cazala
A architecture-free neural network library for node.js and the browser
Covered features:
- Neurons = synaptic.Neuron
- Layers = synaptic.Layer
- Networks = synaptic.Network
- Trainers = synaptic.Trainer
- Architects = synaptic.Architect
It also offers an incredible browser demo here: http://caza.la/synaptic/#/
and a great starting guide: https://github.com/cazala/synaptic/wiki/Neural-Networks-101
Not only is it currently maintained, but also evolving to a next release. Great package for getting started with neural networks! Well done!
Mind by stevenmiller888
A flexible neural network library for Node.js and the browser.
Covered features:
- Vectorized - uses a matrix implementation to process training data
- Configurable - allows you to customize the network topology
- Pluggable - download/upload minds that have already learned
It also offers an incredible browser demo here: http://stevenmiller888.github.io/mindjs.net/
and a great starting guide: http://stevenmiller888.github.io/mind-how-to-build-a-neural-network/
Another awesome package for neural networks! Well done!
Thanks for reading my article! Feel free to leave any feedback!
Cover photo: Photo by Daniele Levis Pelusi on Unsplash - https://unsplash.com/photos/aRf1hjEHlhA