Giter Club home page Giter Club logo

ml's Introduction

ml.js - Machine learning tools in JavaScript

Introduction

This library is a compilation of the tools developed in the mljs organization.
It is mainly maintained for use in the browser. If you are working with Node.js, you might prefer to add to your dependencies only the libraries that you need, as they are usually published to npm more often.
We prefix all our npm package names with ml- (eg. ml-matrix) so they are easy to find.

To include the ml.js library in a web page:

<script src="https://www.lactame.com/lib/ml/6.0.0/ml.min.js"></script>

It will be available as the global ML variable. The package is in UMD format.

List of included libraries

Unsupervised learning

Supervised learning

Artificial neural networks (ANN)

  • Feedforward Neural Networks: ML.FNN
  • Self-organizing map / Kohonen networks: ML.SOM

Regression

Optimization

Math

Functions dealing with an object containing 2 properties x and y, both arrays.

Example:

let result = ML.ArrayXY.sortX({ x: [2, 3, 1], y: [4, 6, 2] });
// result = {x: [1,2,3], y: [2,4,6]}

Statistics

Data processing

Utility

License

MIT

ml's People

Contributors

andcastillo avatar asheb avatar cheminfo-bot avatar greenkeeper[bot] avatar greenkeeperio-bot avatar jajoe avatar jeffersonh44 avatar jobo322 avatar lpatiny avatar maasencioh avatar mljs-bot avatar stropitek avatar targos avatar wadjih-bencheikh18 avatar yawetse avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ml's Issues

easy access on unpkg?

with main: 'dist/ml.min.js' in package.json I think we could use unpkg.com to load ml directly in the browser (?)

TODO

  • Expose Regression classes
  • Expose Matrix methods top-level instead of MatrixUtil
  • Add random forest
  • Add logistic regression
  • Add convolution

Dimensionality Reduction

Would be nice to have the following methods

  • PCA - ml-pca
  • Singular Value Decomposition (SVD) - ml-matrix
  • Eigen Decomposition - ml-matrix
  • Non-negative Matrix Factorization (NMF)
  • tSNE
  • Independent Component Analysis (ICA)
  • Random Projection
  • Factor Analysis (FA)
  • umap

new algorithms

  • Distance / similarity
    • Tanimoto
    • Tree similarity (check with Andres Castillo)
  • SVM
  • Regression
    • PLS-DA
    • PLSA
  • PCA
  • Neural network ?
    • input -> hidden -> output
  • Clustering
    • k-means
    • hierarchical

Updated ml npm package

Hi guys,

First of, I love the work and the modular approach to constructing this library.

When is the next planned semver release on NPM, a lot of the individual packages have been updated (likeml-naivebayes) and it would be great to have them rolled up into a package again.

Thanks,
Yaw

On-line help

Would be nice that from the documentation in the javascript file there is automatic building of a help file that is available on lactame.com after build.
An iframe in the visualizer could give the help on-line and if the future we could hope that the code executor of the visualizer could have completion and dynamic help

New tool to publish ml- packages

To all @mljs/collaborators :

Starting now, to publish a package on npm for the ml.js organization, please use the brand new cheminfo publish command.

The command takes two arguments:

  • the type of bump (major, minor, patch)
  • the organization (here, always put "ml")

Example: cheminfo publish patch ml

This will:

  • Run the tests
  • Bump the version number to the next major
  • Publish on npm
  • Add admins from the ml organization to npm owners
  • Push the changes to GitHub

You will need to install/update your version of cheminfo-tools. The command is npm install -g cheminfo-tools.

The only exception is for ml itself, which is published using the GRM.

how to integrate in browser

Hello,

Can you please post an example how to integrate ml.js with requireJS for use in a browser?

I'm trying to use ML.savitzkyGolay. I dont't get how to integrate the library.

It will be available as the global ML variable. The package is in UMD format and can be "required" within webpack or requireJS.

I don't get a variable ML if I use <script src="https://www.lactame.com/lib/ml/2.2.0/ml.min.js"></script>

I can get functions like ML.AU.SNV and ML.propertyIsEnumerable with
<script src="./src/ml.min.js" charset="utf-8"></script>

or

<script src="https://www.lactame.com/lib/ml/2.2.0/ml.min.js"></script>
...
requirejs(["ML"])

but none of the function mentioned on the GitHub site are available.

I would be very thankful if you can point me in the right direction.

Wiki?

It would be good to have a GitHub Wiki 😊

Documentation

Hi guys, I would like to collaborate in this project. First, I would like to improve documentation, as some modules have none and it may be difficult to new users to use this awesome library.

What do you think?
Ideas?

push fft to the ml bundle?

It would be nice to have an up-to-date overview of all the modules that work and are available in the ml main bundle; also if possible, with working examples (I might contribute a few if there is a space for this).

Peak picking

var peaks[]=LG(matrix, options)

peak={x,y,xWidth (~ half-height),yWidth (~ half-height) }

Questions: Rationale for this library and comparisons with existing js ML libraries?

Hi there,
first of all, thank you and congratulations on building such a modular and comprehensive set of ML tools in javascript for node and the browser.

In my search for ML libraries in Javascript, I stumbled on a few that have the same name or close one:

  • MILJS - From the University of Tokyo, uses graphical acceleration optionally
  • ML.JS - From the University of Lorraine, France. with an interesting demo, Github page here

Do you have a demo page? a tutorial/example of a workflow using different modules?

Is there a transpiled version (or older version) without ES5 code?

I am using this library with create-react-app, but it causes a problem when I tried to compile my code into a production build, because uglifyjs in used by create-react-app doesn't work with ES5 code. See more discussion on

facebook/create-react-app#1125

Until then I recommend to use libraries that take care of transpilation step.

I am mainly looking at the Matrix and PCA functionality currently.

Or if you have idea on transpilation (e.g. with babel), please provide some guidance, and I could try it myself.

o-PLS

This is state of the art pls: o-PLS

Trygg, J., & Wold, S. (2002). Orthogonal projections to latent structures (O-PLS). Journal of Chemometrics, 16(3), 119–128. http://doi.org/10.1002/cem.695

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.