awesome-machine-learning
A curated list of awesome Machine Learning frameworks, libraries and software.
https://github.com/eric-erki/awesome-machine-learning
Last synced: 12 days ago
JSON representation
-
Javascript
-
Speech Recognition
- ml.js - Machine learning and numerical analysis tools for Node.js and the Browser!
- Pavlov.js - Reinforcement learning using Markov Decision Processes.
- TensorFlow.js - A WebGL accelerated, browser based JavaScript library for training and deploying ML models.
- JSMLT - Machine learning toolkit with classification and clustering for Node.js; supports visualization (see [visualml.io](https://visualml.io)).
- xgboost-node - Run XGBoost model and make predictions in Node.js.
- stdlib - A standard library for JavaScript and Node.js, with an emphasis on numeric computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.
- sylvester - Vector and Matrix math for JavaScript.
- simple-statistics - A JavaScript implementation of descriptive, regression, and inference statistics. Implemented in literate JavaScript with no dependencies, designed to work in all modern browsers (including IE) as well as in Node.js.
- regression-js - A javascript library containing a collection of least squares fitting methods for finding a trend in a set of data.
- Lyric - Linear Regression library.
- GreatCircle - Library for calculating great circle distance.
- MLPleaseHelp - MLPleaseHelp is a simple ML resource search engine. You can use this search engine right now at [https://jgreenemi.github.io/MLPleaseHelp/](https://jgreenemi.github.io/MLPleaseHelp/), provided via Github Pages.
- The Bot - Example of how the neural network learns to predict the angle between two points created with [Synaptic](https://github.com/cazala/synaptic).
- Half Beer - Beer glass classifier created with [Synaptic](https://github.com/cazala/synaptic).
- TensorFlow.js - A WebGL accelerated, browser based JavaScript library for training and deploying ML models.
- DN2A - Digital Neural Networks Architecture.
- Retext - Extensible system for analyzing and manipulating natural language.
- Decision Trees - NodeJS Implementation of Decision Tree using ID3 Algorithm.
- High Charts
- science.js - Scientific and statistical computing in JavaScript.
- AnyChart
- NVD3.js
- Nivo - built on top of the awesome d3 and Reactjs libraries
- Machine Learning - Machine learning library for Node.js
-
-
Julia
-
Speech Recognition
- MachineLearning - Julia Machine Learning library.
- MLBase - A set of functions to support the development of machine learning algorithms.
- PGM - A Julia framework for probabilistic graphical models.
- DA - Julia package for Regularized Discriminant Analysis.
- Regression - Algorithms for regression analysis (e.g. linear regression and logistic regression).
- Local Regression - Local regression, so smooooth!.
- Naive Bayes - Simple Naive Bayes implementation in Julia.
- Simple MCMC - basic mcmc sampler implemented in Julia.
- Distance - Julia module for Distance evaluation.
- Decision Tree - Decision Tree Classifier and Regressor.
- Neural - A neural network in Julia.
- MCMC - MCMC tools for Julia.
- Mamba - Markov chain Monte Carlo (MCMC) for Bayesian analysis in Julia.
- GLM - Generalized linear models in Julia.
- Gaussian Processes - Julia package for Gaussian processes.
- Online Learning
- Clustering - Basic functions for clustering data: k-means, dp-means, etc.
- SVM - SVM's for Julia.
- Kernel Density - Kernel density estimators for julia.
- Dimensionality Reduction - Methods for dimensionality reduction.
- NMF - A Julia package for non-negative matrix factorization.
- ANN - Julia artificial neural networks.
- Mocha - Deep Learning framework for Julia inspired by Caffe.
- XGBoost - eXtreme Gradient Boosting Package in Julia.
- ManifoldLearning - A Julia package for manifold learning and nonlinear dimensionality reduction.
- Merlin - Flexible Deep Learning Framework in Julia.
- ROCAnalysis - Receiver Operating Characteristics and functions for evaluation probabilistic binary classifiers.
- GaussianMixtures - Large scale Gaussian Mixture Models.
- ScikitLearn - Julia implementation of the scikit-learn API.
- Knet - Koç University Deep Learning Framework.
- Topic Models - TopicModels for Julia.
- Text Analysis - Julia package for text analysis.
- Graph Layout - Graph layout algorithms in pure Julia.
- LightGraphs - Graph modeling and analysis.
- Data Frames Meta - Metaprogramming tools for DataFrames.
- Julia Data - library for working with tabular data in Julia.
- Data Read - Read files from Stata, SAS, and SPSS.
- Hypothesis Tests - Hypothesis tests for Julia.
- Gadfly - Crafty statistical graphics for Julia.
- Stats - Statistical tests for Julia.
- RDataSets - Julia package for loading many of the data sets available in R.
- DataFrames - library for working with tabular data in Julia.
- Distributions - A Julia package for probability distributions and associated functions.
- Data Arrays - Data structures that allow missing values.
- Time Series - Time series toolkit for Julia.
- Sampling - Basic sampling algorithms for Julia.
- DSP - Digital Signal Processing (filtering, periodograms, spectrograms, window functions).
- JuliaCon Presentations - Presentations for JuliaCon.
- SignalProcessing - Signal Processing tools for Julia.
- Images - An image library for Julia.
- Mixed Models - A Julia package for fitting (statistical) mixed-effects models.
- GLMNet - Julia wrapper for fitting Lasso/ElasticNet GLM models using glmnet.
-
-
Lua
-
Speech Recognition
- Torch7
- signal - A signal processing toolbox for Torch-7. FFT, DCT, Hilbert, cepstrums, stft.
- Numeric Lua
- Lunatic Python
- Lua - Numerical Algorithms
- Music Tagging - Music Tagging scripts for torch7.
- Numeric Lua
- autograd - Autograd automatically differentiates native Torch code. Inspired by the original Python version.
- graph - Graph package for Torch.
- signal - A signal processing toolbox for Torch-7. FFT, DCT, Hilbert, cepstrums, stft.
- nn - Neural Network package for Torch.
- nngraph - This package provides graphical computation for nn library in Torch7.
- nnx - A completely unstable and experimental package that extends Torch's builtin nn library.
- rnn - A Recurrent Neural Network library that extends Torch's nn. RNNs, LSTMs, GRUs, BRNNs, BLSTMs, etc.
- dpnn - Many useful features that aren't part of the main nn package.
- dp - A deep learning library designed for streamlining research and development using the Torch7 distribution. It emphasizes flexibility through the elegant use of object-oriented design patterns.
- optim - An optimization library for Torch. SGD, Adagrad, Conjugate-Gradient, LBFGS, RProp and more.
- unsup - A package for unsupervised learning in Torch. Provides modules that are compatible with nn (LinearPsd, ConvPsd, AutoEncoder, ...), and self-contained algorithms (k-means, PCA).
- manifold - A package to manipulate manifolds.
- svm - Torch-SVM library.
- lbfgs - FFI Wrapper for liblbfgs.
- vowpalwabbit - An old vowpalwabbit interface to torch.
- OpenGM - OpenGM is a C++ library for graphical modeling, and inference. The Lua bindings provide a simple way of describing graphs, from Lua, and then optimizing them with OpenGM.
- sphagetti - Spaghetti (sparse linear) module for torch7 by @MichaelMathieu
- LuaSHKit - A lua wrapper around the Locality sensitive hashing library SHKit
- kernel smoothing - KNN, kernel-weighted average, local linear regression smoothers.
- cutorch - Torch CUDA Implementation.
- cunn - Torch CUDA Neural Network Implementation.
- imgraph - An image/graph library for Torch. This package provides routines to construct graphs on images, segment them, build trees out of them, and convert them back to images.
- videograph - A video/graph library for Torch. This package provides routines to construct graphs on videos, segment them, build trees out of them, and convert them back to videos.
- saliency - code and tools around integral images. A library for finding interest points based on fast integral histograms.
- stitch - allows us to use hugin to stitch images and apply same stitching to a video sequence.
- sfm - A bundle adjustment/structure from motion package.
- fex - A package for feature extraction in Torch. Provides SIFT and dSIFT modules.
- OverFeat - A state-of-the-art generic dense feature extractor.
- Numeric Lua
- Lunum
- Core torch7 demos repository
- Training a Convnet for the Galaxy-Zoo Kaggle challenge(CUDA demo)
- torch-datasets - Scripts to load several popular datasets including:
- Atari2600 - Scripts to generate a dataset with static frames from the Arcade Learning Environment.
- torchnet - framework for torch which provides a set of abstractions aiming at encouraging code re-use as well as encouraging modular programming.
- wav2letter - a simple and efficient end-to-end Automatic Speech Recognition (ASR) system from Facebook AI Research.
- cephes - Cephes mathematical functions library, wrapped for Torch. Provides and wraps the 180+ special mathematical functions from the Cephes mathematical library, developed by Stephen L. Moshier. It is used, among many other places, at the heart of SciPy.
- autograd - Autograd automatically differentiates native Torch code. Inspired by the original Python version.
- randomkit - Numpy's randomkit, wrapped for Torch.
- SciLua
-
-
Matlab
-
Speech Recognition
- Contourlets - MATLAB source code that implements the contourlet transform and its utility functions.
- Curvelets - The Curvelet transform is a higher dimensional generalization of the Wavelet transform designed to represent images at different scales and different angles.
- Bandlets - MATLAB code for bandlet transform.
- t-Distributed Stochastic Neighbor Embedding - t-Distributed Stochastic Neighbor Embedding (t-SNE) is a (prize-winning) technique for dimensionality reduction that is particularly well suited for the visualization of high-dimensional datasets.
- Spider - The spider is intended to be a complete object orientated environment for machine learning in Matlab.
- matlab_gbl - MatlabBGL is a Matlab package for working with graphs.
- Shearlets - MATLAB code for shearlet transform.
- Shearlets - MATLAB code for shearlet transform.
- Curvelets - The Curvelet transform is a higher dimensional generalization of the Wavelet transform designed to represent images at different scales and different angles.
- mexopencv - Collection and a development kit of MATLAB mex functions for OpenCV library.
- Machine Learning Module - Class on machine w/ PDF, lectures, code
- Pattern Recognition Toolbox - A complete object-oriented environment for machine learning in Matlab.
- Pattern Recognition and Machine Learning - This package contains the matlab implementation of the algorithms described in the book Pattern Recognition and Machine Learning by C. Bishop.
- gamic - Efficient pure-Matlab implementations of graph algorithms to complement MatlabBGL's mex functions.
- Curvelets - The Curvelet transform is a higher dimensional generalization of the Wavelet transform designed to represent images at different scales and different angles.
- ThunderSVM - An Open-Source SVM Library on GPUs and CPUs
- LibSVM - A Library for Support Vector Machines.
- MXNet - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.
- LibLinear - A Library for Large Linear Classification.
- NLP - An NLP library for Matlab.
-
-
.NET
-
Speech Recognition
- OpenCVDotNet - A wrapper for the OpenCV project to be used with .NET applications.
- Emgu CV - Cross platform wrapper of OpenCV which can be compiled in Mono to be run on Windows, Linus, Mac OS X, iOS, and Android.
- Accord-Framework - The Accord.NET Framework is a complete framework for building machine learning, computer vision, computer audition, signal processing and statistical applications.
- Infer.NET - Infer.NET is a framework for running Bayesian inference in graphical models. One can use Infer.NET to solve many different kinds of machine learning problems, from standard problems like classification, recommendation or clustering through to customised solutions to domain-specific problems. Infer.NET has been used in a wide variety of domains including information retrieval, bioinformatics, epidemiology, vision, and many others.
- Neural Network Designer - DBMS management system and designer for neural networks. The designer application is developed using WPF, and is a user interface which allows you to design your neural network, query the network, create and configure chat bots that are capable of asking questions and learning from your feed back. The chat bots can even scrape the internet for information to return in their output as well as to use for learning.
- Sho - Sho is an interactive environment for data analysis and scientific computing that lets you seamlessly connect scripts (in IronPython) with compiled code (in .NET) to enable fast and flexible prototyping. The environment includes powerful and efficient libraries for linear algebra as well as data visualization that can be used from any .NET language, as well as a feature-rich interactive shell for rapid development.
- Emgu CV - Cross platform wrapper of OpenCV which can be compiled in Mono to be run on Windows, Linus, Mac OS X, iOS, and Android.
- Accord-Framework - The Accord.NET Framework is a complete framework for building machine learning, computer vision, computer audition, signal processing and statistical applications.
- DiffSharp - An automatic differentiation (AD) library providing exact and efficient derivatives (gradients, Hessians, Jacobians, directional derivatives, and matrix-free Hessian- and Jacobian-vector products) for machine learning and optimization applications. Operations can be nested to any level, meaning that you can compute exact higher-order derivatives and differentiate functions that are internally making use of differentiation, for applications such as hyperparameter optimization.
- GeneticSharp - Multi-platform genetic algorithm library for .NET Core and .NET Framework. The library has several implementations of GA operators, like: selection, crossover, mutation, reinsertion and termination.
- ML.NET - ML.NET is a cross-platform open-source machine learning framework which makes machine learning accessible to .NET developers. ML.NET was originally developed in Microsoft Research and evolved into a significant framework over the last decade and is used across many product groups in Microsoft like Windows, Bing, PowerPoint, Excel and more.
- Vulpes - Deep belief and deep learning implementation written in F# and leverages CUDA GPU execution with Alea.cuBase.
- numl - numl is a machine learning library intended to ease the use of using standard modeling techniques for both prediction and clustering.
- Vulpes - Deep belief and deep learning implementation written in F# and leverages CUDA GPU execution with Alea.cuBase.
- Stanford.NLP for .NET - A full port of Stanford NLP packages to .NET and also available precompiled as a NuGet package.
-
-
Objective C
-
General-Purpose Machine Learning
- YCML - A Machine Learning framework for Objective-C and Swift (OS X / iOS).
- MLPNeuralNet - Fast multilayer perceptron neural network library for iOS and Mac OS X. MLPNeuralNet predicts new examples by trained neural network. It is built on top of the Apple's Accelerate Framework, using vectorized operations and hardware acceleration if available.
- MAChineLearning - An Objective-C multilayer perceptron library, with full support for training through backpropagation. Implemented using vDSP and vecLib, it's 20 times faster than its Java equivalent. Includes sample code for use from Swift.
- BPN-NeuralNetwork - It implemented 3 layers neural network ( Input Layer, Hidden Layer and Output Layer ) and it named Back Propagation Neural Network (BPN). This network can be used in products recommendation, user behavior analysis, data mining and data analysis.
- Multi-Perceptron-NeuralNetwork - it implemented multi-perceptrons neural network (ニューラルネットワーク) based on Back Propagation Neural Network (BPN) and designed unlimited-hidden-layers.
- KRHebbian-Algorithm - It is a non-supervisor and self-learning algorithm (adjust the weights) in neural network of Machine Learning.
- KRKmeans-Algorithm - It implemented K-Means the clustering and classification algorithm. It could be used in data mining and image compression.
- KRFuzzyCMeans-Algorithm - It implemented Fuzzy C-Means (FCM) the fuzzy clustering / classification algorithm on Machine Learning. It could be used in data mining and image compression.
-
-
OCaml
-
General-Purpose Machine Learning
- GPR - Efficient Gaussian Process Regression in OCaml.
- TensorFlow - OCaml bindings for TensorFlow.
-
-
Perl
-
Data Analysis / Data Visualization
-
General-Purpose Machine Learning
-
-
Perl 6
-
Data Analysis / Data Visualization
-
General-Purpose Machine Learning
-
-
PHP
-
General-Purpose Machine Learning
- PHP-ML - Machine Learning library for PHP. Algorithms, Cross Validation, Neural Network, Preprocessing, Feature Extraction and much more in one library.
- PredictionBuilder - A library for machine learning that builds predictions using a linear regression.
- 19 Questions - A machine learning / bayesian inference assigning attributes to objects.
-
Natural Language Processing
- jieba-php - Chinese Words Segmentation Utilities.
-
-
Python
-
General-Purpose Machine Learning
- SimpleCV - An open source computer vision framework that gives access to several high-powered computer vision libraries, such as OpenCV. Written on Python and runs on Mac, Windows, and Ubuntu Linux.
- astroML - Machine Learning and Data Mining for Astronomy.
- Edward - A library for probabilistic modeling, inference, and criticism. Built on top of TensorFlow.
- Numba - Python JIT (just in time) complier to LLVM aimed at scientific Python by the developers of Cython and NumPy.
- Pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.
- PyDy - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion based around NumPy, SciPy, IPython, and matplotlib.
- cerebro2 - based visualization and debugging platform for NuPIC.
- Seaborn - A python visualization library based on matplotlib.
- A gallery of interesting IPython notebooks
- Python Programming for the Humanities - Course for Python programming for the Humanities, assuming no prior knowledge. Heavy focus on text processing / NLP.
- Practical XGBoost in Python - comprehensive online course about using XGBoost in Python.
- Scikit-Image - A collection of algorithms for image processing in Python.
- SimpleCV - An open source computer vision framework that gives access to several high-powered computer vision libraries, such as OpenCV. Written on Python and runs on Mac, Windows, and Ubuntu Linux.
- OpenFace - Free and open source face recognition with deep neural networks.
- PCV - Open source Python module for computer vision.
- face_recognition - Face recognition library that recognize and manipulate faces from Python or from the command line.
- dockerface - Easy to install and use deep learning Faster R-CNN face detection for images and video in a docker container.
- Detectron - FAIR's software system that implements state-of-the-art object detection algorithms, including Mask R-CNN. It is written in Python and powered by the Caffe2 deep learning framework.
- Quepy - A python framework to transform natural language questions to queries in a database query language.
- YAlign - A sentence aligner, a friendly tool for extracting parallel sentences from comparable corpora.
-
Programming Languages
Categories
Sub Categories
Keywords
machine-learning
80
python
52
data-science
27
deep-learning
24
nlp
18
statistics
14
julia
14
natural-language-processing
12
java
11
ml
11
neural-network
11
artificial-intelligence
10
scikit-learn
10
regression
9
big-data
8
javascript
8
c-plus-plus
8
computational-linguistics
7
neural-networks
7
visualization
7
genetic-algorithm
6
spark
6
data-mining
6
linear-regression
5
machine-learning-algorithms
5
classification
5
swift
5
scala
5
library
5
folia
5
tensorflow
5
ruby
5
r
5
gpu
5
clojure
4
math
4
bayesian
4
hadoop
4
kaggle
4
data-analysis
4
gbm
4
awesome
4
svm
4
ai
4
text-processing
4
machine-learning-library
4
sentiment-analysis
4
nodejs
4
classifier
4
computer-vision
4