Awesome Open Source
Awesome Open Source

machinelearn.js

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="https://cdn.jsdelivr.net/npm/machinelearn/machinelearn.min.js"></script>
<script>
    const { RandomForestClassifier } = ml.ensemble;
    const cls = new RandomForestClassifier();
</script>

Please see https://www.jsdelivr.com/package/npm/machinelearn for more details.

Accelerations

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';

Highlights

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

Development

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

Simplicity

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

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

$ npm run test

Supporting

Simply give us a 🌟 by clicking on

Contributing

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

Further notice

Great references that helped building this project!

Contributors

Thanks goes to these wonderful people (emoji key):


Jason Shin

📝 🐛 💻 📖 ⚠️

Jaivarsan

💬 🤔 📢

Oleg Stotsky

🐛 💻 📖 ⚠️

Ben

💬 ğŸŽ¨ 📢 🐛 💻

Christoph Reinbothe

💻 🤔 🚇 👀

Adam King

💻 ⚠️ 📖

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
typescript (10,848) 
machine-learning (3,527) 
web (987) 
node (967) 
easy-to-use (96) 
feature-extraction (64) 
svm (57) 
random-forest (53) 
statistical-learning (22) 
minimalistic (19) 
structured-data (16) 

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

Advertising 📦 10
All Projects
Application Programming Interfaces 📦 124
Applications 📦 192
Artificial Intelligence 📦 78
Blockchain 📦 73
Build Tools 📦 113
Cloud Computing 📦 80
Code Quality 📦 28
Collaboration 📦 32
Command Line Interface 📦 49
Community 📦 83
Companies 📦 60
Compilers 📦 63
Computer Science 📦 80
Configuration Management 📦 42
Content Management 📦 175
Control Flow 📦 213
Data Formats 📦 78
Data Processing 📦 276
Data Storage 📦 135
Economics 📦 64
Frameworks 📦 215
Games 📦 129
Graphics 📦 110
Hardware 📦 152
Integrated Development Environments 📦 49
Learning Resources 📦 166
Legal 📦 29
Libraries 📦 129
Lists Of Projects 📦 22
Machine Learning 📦 347
Mapping 📦 64
Marketing 📦 15
Mathematics 📦 55
Media 📦 239
Messaging 📦 98
Networking 📦 315
Operating Systems 📦 89
Operations 📦 121
Package Managers 📦 55
Programming Languages 📦 245
Runtime Environments 📦 100
Science 📦 42
Security 📦 396
Social Media 📦 27
Software Architecture 📦 72
Software Development 📦 72
Software Performance 📦 58
Software Quality 📦 133
Text Editors 📦 49
Text Processing 📦 136
User Interface 📦 330
User Interface Components 📦 514
Version Control 📦 30
Virtualization 📦 71
Web Browsers 📦 42
Web Servers 📦 26
Web User Interface 📦 210