Awesome Open Source
Awesome Open Source


machinelearn.js is a Machine Learning library written in Typescript. It solves Machine Learning problems and teaches users how Machine Learning algorithms work.

Build Status Build status FOSSA Status Slack ZenHub

User Installation

Using yarn

$ yarn add machinelearn

Using NPM

$ npm install --save machinelearn

On the browsers

We use jsdeliver to distribute browser version of machinelearn.js

<script src=""></script>
    const { RandomForestClassifier } = ml.ensemble;
    const cls = new RandomForestClassifier();

Please see for more details.


By default, machinelearning.js will use pure Javascript version of tfjs. To enable acceleration through C++ binding or GPU, you must import machinelearn-node for C++ or machinelearn-gpu for GPU.

  1. C++
  • installation
yarn add machinelearn-node
  • activation
import 'machinelearn-node';
  1. GPU
  • installation
yarn add machinelearn-gpu
  • activation
import 'machinelearn-gpu';


  • Machine Learning on the browser and Node.js
  • Learning APIs for users
  • Low entry barrier


We welcome new contributors of all level of experience. The development guide will be added to assist new contributors to easily join the project.

  • You want to participate in a Machine Learning project, which will boost your Machine Learning skills and knowledge
  • Looking to be part of a growing community
  • You want to learn Machine Learning
  • You like Typescript ❤️ Machine Learning


machinelearn.js provides a simple and consistent set of APIs to interact with the models and algorithms. For example, all models have follow APIs:

  • fit for training
  • predict for inferencing
  • toJSON for saving the model's state
  • fromJSON for loading the model from the checkpoint


Testing ensures you that you are currently using the most stable version of machinelearn.js

$ npm run test


Simply give us a 🌟 by clicking on


We simply follow "fork-and-pull" workflow of Github. Please read for more detail.

Further notice

Great references that helped building this project!


Thanks goes to these wonderful people (emoji key):

Jason Shin

📝 🐛 💻 📖 ⚠️


💬 🤔 📢

Oleg Stotsky

🐛 💻 📖 ⚠️


💬 ğŸŽ¨ 📢 🐛 💻

Christoph Reinbothe

💻 🤔 🚇 👀

Adam King

💻 ⚠️ 📖

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
typescript (9,175) 
machine-learning (3,168) 
web (896) 
node (896) 
easy-to-use (79) 
feature-extraction (58) 
svm (52) 
random-forest (48) 
statistical-learning (22) 
minimalistic (16) 
structured-data (14) 

Find Open Source By Browsing 7,000 Topics Across 59 Categories