My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMSย for Enterprise.
Upgrade โœจLearn more
ML libraries in JavaScript

ML libraries in JavaScript

Daniel Deutsch's photo
Daniel Deutsch
ยทDec 1, 2017

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

โ€œ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

On Github

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

On Github

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

On Github

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

On Github

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

On Github

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