List.community

Awesome Machine Learning Awesome

A curated list of awesome machine learning frameworks, libraries and software (by language). Inspired by awesome-php.

If you want to contribute to this list (please do), send me a pull request or contact me @josephmisiti. Also, a listed repository should be deprecated if:

  • Repository's owner explicitly say that "this library is not maintained".
  • Not committed for long time (2~3 years).

Further resources:

  • For a list of free machine learning books available for download, go here.

  • For a list of (mostly) free machine learning courses available online, go here.

  • For a list of blogs on data science and machine learning, go here.

  • For a list of free-to-attend meetups and local events, go here.

Table of Contents

APL

General-Purpose Machine Learning

  • naive-apl - Naive Bayesian Classifier implementation in APL.

C

General-Purpose Machine Learning

  • Darknet267 138 - Darknet is an open source neural network framework written in C and CUDA. It is fast, easy to install, and supports CPU and GPU computation.
  • Recommender41 9 - A C library for product recommendations/suggestions using collaborative filtering (CF).
  • Hybrid Recommender System3 3 - A hybrid recommender system based upon scikit-learn algorithms.
  • neonrvm - neonrvm is an open source machine learning library based on RVM technique. It's written in C programming language and comes with Python programming language bindings.

Computer Vision

  • CCV6k 1k - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library.
  • VLFeat - VLFeat is an open and portable library of computer vision algorithms, which has Matlab toolbox.

Speech Recognition

  • HTK -The Hidden Markov Model Toolkit (HTK) is a portable toolkit for building and manipulating hidden Markov models.

C++

Computer Vision

  • DLib - DLib has C++ and Python interfaces for face detection and training general object detectors.
  • EBLearn - Eblearn is an object-oriented C++ library that implements various machine learning models
  • OpenCV - OpenCV has C++, C, Python, Java and MATLAB interfaces and supports Windows, Linux, Android and Mac OS.
  • VIGRA261 161 - VIGRA is a generic cross-platform C++ computer vision and machine learning library for volumes of arbitrary dimensionality with Python bindings.

General-Purpose Machine Learning

  • BanditLib8 3 - A simple Multi-armed Bandit library.
  • Caffe - A deep learning framework developed with cleanliness, readability, and speed in mind. [DEEP LEARNING]
  • CatBoost2k 273 - General purpose gradient boosting on decision trees library with categorical features support out of the box. It is easy to install, contains fast inference implementation and supports CPU and GPU (even multi-GPU) computation.
  • CNTK16k 5k - The Computational Network Toolkit (CNTK) by Microsoft Research, is a unified deep-learning toolkit that describes neural networks as a series of computational steps via a directed graph.
  • CUDA - This is a fast C++/CUDA implementation of convolutional [DEEP LEARNING]
  • CXXNET481 212 - Yet another deep learning framework with less than 1000 lines core code [DEEP LEARNING]
  • DeepDetect2k 403 - A machine learning API and server written in C++11. It makes state of the art machine learning easy to work with and integrate into existing applications.
  • Distributed Machine learning Tool Kit (DMTK) - A distributed machine learning (parameter server) framework by Microsoft. Enables training models on large data sets across multiple machines. Current tools bundled with it include: LightLDA and Distributed (Multisense) Word Embedding.
  • DLib - A suite of ML tools designed to be easy to imbed in other applications.
  • DSSTNE8k 1k - A software library created by Amazon for training and deploying deep neural networks using GPUs which emphasizes speed and scale over experimental flexibility.
  • DyNet2k 442 - A dynamic neural network library working well with networks that have dynamic structures that change for every training instance. Written in C++ with bindings in Python.
  • encog-cpp
  • Fido369 80 - A highly-modular C++ machine learning library for embedded electronics and robotics.
  • igraph - General purpose graph library.
  • Intel(R) DAAL170 45 - A high performance software library developed by Intel and optimized for Intel's architectures. Library provides algorithmic building blocks for all stages of data analytics and allows to process data in batch, online and distributed modes.
  • LightGBM5k 1k - Microsoft's fast, distributed, high performance gradient boosting (GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.
  • libfm - A generic approach that allows to mimic most factorization models by feature engineering.
  • MLDB - The Machine Learning Database is a database designed for machine learning. Send it commands over a RESTful API to store data, explore it using SQL, then train machine learning models and expose them as APIs.
  • mlpack - A scalable C++ machine learning library.
  • proNet-core - A general-purpose network embedding framework: pair-wise representations optimization Network Edit.
  • ROOT - A modular scientific software framework. It provides all the functionalities needed to deal with big data processing, statistical analysis, visualization and storage.
  • shark - A fast, modular, feature-rich open-source C++ machine learning library.
  • Shogun2k 1k - The Shogun Machine Learning Toolbox.
  • sofia-ml - Suite of fast incremental algorithms.
  • Stan - A probabilistic programming language implementing full Bayesian statistical inference with Hamiltonian Monte Carlo sampling.
  • Timbl - A software package/C++ library implementing several memory-based learning algorithms, among which IB1-IG, an implementation of k-nearest neighbor classification, and IGTree, a decision-tree approximation of IB1-IG. Commonly used for NLP.
  • Vowpal Wabbit (VW)5k 2k - A fast out-of-core learning system.
  • Warp-CTC3k 850 - A fast parallel implementation of Connectionist Temporal Classification (CTC), on both CPU and GPU.
  • XGBoost9k 5k - A parallelized optimized general purpose gradient boosting library.
  • LKYDeepNN - A header-only C++11 Neural Network library. Low dependency, native traditional chinese document.

Natural Language Processing

  • BLLIP Parser144 42 - BLLIP Natural Language Parser (also known as the Charniak-Johnson parser).
  • colibri-core65 11 - C++ library, command line tools, and Python binding for extracting and working with basic linguistic constructions such as n-grams and skipgrams in a quick and memory-efficient way.
  • CRF++ - Open source implementation of Conditional Random Fields (CRFs) for segmenting/labeling sequential data & other Natural Language Processing tasks.
  • CRFsuite - CRFsuite is an implementation of Conditional Random Fields (CRFs) for labeling sequential data.
  • frog21 4 - Memory-based NLP suite developed for Dutch: PoS tagger, lemmatiser, dependency parser, NER, shallow parser, morphological analyzer.
  • libfolia5 2 - C++ library for the FoLiA format
  • MeTA377 161 - MeTA : ModErn Text Analysis is a C++ Data Sciences Toolkit that facilitates mining big text data.
  • MIT Information Extraction Toolkit1k 260 - C, C++, and Python tools for named entity recognition and relation extraction
  • ucto16 4 - Unicode-aware regular-expression based tokenizer for various languages. Tool and C++ library. Supports FoLiA format.

Speech Recognition

  • Kaldi5k 3k - Kaldi is a toolkit for speech recognition written in C++ and licensed under the Apache License v2.0. Kaldi is intended for use by speech recognition researchers.

Sequence Analysis

  • ToPS5 2 - This is an objected-oriented framework that facilitates the integration of probabilistic models for sequences over a user defined alphabet.

Gesture Detection

  • grt394 201 - The Gesture Recognition Toolkit (GRT) is a cross-platform, open-source, C++ machine learning library designed for real-time gesture recognition.

Common Lisp

General-Purpose Machine Learning

  • mgl125 14 - Neural networks (boltzmann machines, feed-forward and recurrent nets), Gaussian Processes.
  • mgl-gpr6 3 - Evolutionary algorithms.
  • cl-libsvm2 0 - Wrapper for the libsvm support vector machine library.
  • cl-online-learning23 1 - Online learning algorithms (Perceptron, AROW, SCW, Logistic Regression).
  • cl-random-forest - Implementation of Random Forest in Common Lisp.

Clojure

Natural Language Processing

  • Clojure-openNLP673 82 - Natural Language Processing in Clojure (opennlp).
  • Infections-clj155 19 - Rails-like inflection library for Clojure and ClojureScript.

General-Purpose Machine Learning

  • Touchstone117 5 - Clojure A/B testing library.
  • Clojush236 59 - The Push programming language and the PushGP genetic programming system implemented in Clojure.
  • Infer114 34 - Inference and machine learning in Clojure.
  • Clj-ML68 38 - A machine learning library for Clojure built on top of Weka and friends.
  • DL4CLJ49 5 - Clojure wrapper for Deeplearning4j.
  • Encog87 5 - Clojure wrapper for Encog (v3) (Machine-Learning framework that specializes in neural-nets).
  • Fungp54 2 - A genetic programming library for Clojure.
  • Statistiker10 0 - Basic Machine Learning algorithms in Clojure.
  • clortex - General Machine Learning library using Numenta’s Cortical Learning Algorithm.
  • comportex29 6 - Functionally composable Machine Learning library using Numenta’s Cortical Learning Algorithm.
  • cortex960 84 - Neural networks, regression and feature learning in Clojure.
  • lambda-ml17 1 - Simple, concise implementations of machine learning techniques and utilities in Clojure.

Data Analysis / Data Visualization

  • Incanter - Incanter is a Clojure-based, R-like platform for statistical computing and graphics.
  • PigPen496 60 - Map-Reduce for Clojure.
  • Envision63 2 - Clojure Data Visualisation library, based on Statistiker and D3.

Crystal

General-Purpose Machine Learning

  • machine13 1 - Simple machine learning algorithm.
  • crystal-fann - FANN (Fast Artifical Neural Network) binding.

Elixir

General-Purpose Machine Learning

  • Simple Bayes266 13 - A Simple Bayes / Naive Bayes implementation in Elixir.

Natural Language Processing

  • Stemmer112 3 - An English (Porter2) stemming implementation in Elixir.

Erlang

General-Purpose Machine Learning

  • Disco2k 273 - Map Reduce in Erlang.
  • Yanni - ANN neural networks using Erlangs leightweight processes.

Go

Natural Language Processing

  • go-porterstemmer54 8 - A native Go clean room implementation of the Porter Stemming algorithm.
  • paicehusk - Golang implementation of the Paice/Husk Stemming Algorithm.
  • snowball2 0 - Snowball Stemmer for Go.
  • Textbox - Natural langauge processing SDK from Machine Box
  • go-ngram15 3 - In-memory n-gram index with compression.
  • word-embedding119 10 - Word Embeddings: the full implementation of word2vec, GloVe in Go.
  • sentences200 17 - Golang implementation of Punkt sentence tokenizer.

General-Purpose Machine Learning

  • gago379 25 - Multi-population, flexible, parallel genetic algorithm.
  • Go Learn4k 555 - Machine Learning for Go.
  • go-pr21 4 - Pattern recognition package in Go lang.
  • go-ml15 6 - Linear / Logistic regression, Neural Networks, Collaborative Filtering and Gaussian Multivariate Distribution.
  • bayesian184 29 - Naive Bayesian Classification for Golang.
  • go-galib60 14 - Genetic Algorithms library written in Go / Golang.
  • Cloudforest518 69 - Ensembles of decision trees in Go/Golang.
  • gobrain13 4 - Neural Networks written in Go.
  • GoNN103 15 - GoNN is an implementation of Neural Network in Go Language, which includes BPNN, RBF, PCN.
  • MXNet12k 5k - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.
  • go-mxnet-predictor - Go binding for MXNet c_predict_api to do inference with pre-trained model.
  • neat - Plug-and-play, parallel Go framework for NeuroEvolution of Augmenting Topologies (NEAT).

Data Analysis / Data Visualization

  • go-graph37 4 - Graph library for Go/Golang language.
  • SVGo - The Go Language library for SVG generation.
  • RF39 12 - Random forests implementation in Go.
  • Glot - Glot is a plotting library for Golang built on top of gnuplot.

Facial Detection and Recognition

  • Facebox - Facial detection and recognition SDK with one-shot teaching from Machine Box

Image Classification

  • Tagbox - Image classification SDK with one-shot teaching from Machine Box
  • Nudebox - Nudity detection from Machine Box

Haskell

General-Purpose Machine Learning

  • haskell-ml9 1 - Haskell implementations of various ML algorithms.
  • HLearn1k 147 - a suite of libraries for interpreting machine learning models according to their algebraic structure.
  • hnn - Haskell Neural Network library.
  • hopfield-networks - Hopfield Networks for unsupervised learning in Haskell.
  • caffegraph529 42 - A DSL for deep neural networks.
  • LambdaNet136 9 - Configurable Neural Networks in Haskell.

Java

Natural Language Processing

  • Cortical.io - Retina: an API performing complex NLP operations (disambiguation, classification, streaming text filtering, etc...) as quickly and intuitively as the brain.
  • IRIS11 3 - Cortical.io's FREE NLP, Retina API Analysis Tool (written in JavaFX!) - See the Tutorial Video.
  • CoreNLP - Stanford CoreNLP provides a set of natural language analysis tools which can take raw English language text input and give the base forms of words.
  • Stanford Parser - A natural language parser is a program that works out the grammatical structure of sentences.
  • Stanford POS Tagger - A Part-Of-Speech Tagger (POS Tagger).
  • Stanford Name Entity Recognizer - Stanford NER is a Java implementation of a Named Entity Recognizer.
  • Stanford Word Segmenter - Tokenization of raw text is a standard pre-processing step for many NLP tasks.
  • Tregex, Tsurgeon and Semgrex - Tregex is a utility for matching patterns in trees, based on tree relationships and regular expression matches on nodes (the name is short for "tree regular expressions").
  • Stanford Phrasal: A Phrase-Based Translation System
  • Stanford English Tokenizer - Stanford Phrasal is a state-of-the-art statistical phrase-based machine translation system, written in Java.
  • Stanford Tokens Regex - A tokenizer divides text into a sequence of tokens, which roughly correspond to "words".
  • Stanford Temporal Tagger - SUTime is a library for recognizing and normalizing time expressions.
  • Stanford SPIED - Learning entities from unlabeled text starting with seed sets using patterns in an iterative fashion.
  • Stanford Topic Modeling Toolbox - Topic modeling tools to social scientists and others who wish to perform analysis on datasets.
  • Twitter Text Java375 151 - A Java implementation of Twitter's text processing library.
  • MALLET - A Java-based package for statistical natural language processing, document classification, clustering, topic modeling, information extraction, and other machine learning applications to text.
  • OpenNLP - a machine learning based toolkit for the processing of natural language text.
  • LingPipe - A tool kit for processing text using computational linguistics.
  • ClearTK - ClearTK provides a framework for developing statistical natural language processing (NLP) components in Java and is built on top of Apache UIMA.
  • Apache cTAKES - Apache clinical Text Analysis and Knowledge Extraction System (cTAKES) is an open-source natural language processing system for information extraction from electronic medical record clinical free-text.
  • ClearNLP106 34 - The ClearNLP project provides software and resources for natural language processing. The project started at the Center for Computational Language and EducAtion Research, and is currently developed by the Center for Language and Information Research at Emory University. This project is under the Apache 2 license.
  • CogcompNLP89 63 - This project collects a number of core libraries for Natural Language Processing (NLP) developed in the University of Illinois' Cognitive Computation Group, for example illinois-core-utilities which provides a set of NLP-friendly data structures and a number of NLP-related utilities that support writing NLP applications, running experiments, etc, illinois-edison a library for feature extraction from illinois-core-utilities data structures and many other packages.

General-Purpose Machine Learning

  • aerosolve4k 592 - A machine learning library by Airbnb designed from the ground up to be human friendly.
  • AMIDST Toolbox - A Java Toolbox for Scalable Probabilistic Machine Learning.
  • Datumbox923 283 - Machine Learning framework for rapid development of Machine Learning and Statistical applications.
  • ELKI - Java toolkit for data mining. (unsupervised: clustering, outlier detection etc.)
  • Encog323 107 - An advanced neural network and machine learning framework. Encog contains classes to create a wide variety of networks, as well as support classes to normalize and process data for these neural networks. Encog trains using multithreaded resilient propagation. Encog can also make use of a GPU to further speed processing time. A GUI based workbench is also provided to help model and train neural networks.
  • FlinkML in Apache Flink - Distributed machine learning library in Flink.
  • H2O3k 1k - ML engine that supports distributed learning on Hadoop, Spark or your laptop via APIs in R, Python, Scala, REST/JSON.
  • htm.java231 152 - General Machine Learning library using Numenta’s Cortical Learning Algorithm.
  • java-deeplearning11k 4k - Distributed Deep Learning Platform for Java, Clojure, Scala.
  • Mahout3k 2k - Distributed machine learning.
  • Meka - An open source implementation of methods for multi-label classification and evaluation (extension to Weka).
  • MLlib in Apache Spark - Distributed machine learning library in Spark
  • Hydrosphere Mist150 46 - a service for deployment Apache Spark MLLib machine learning models as realtime, batch or reactive web services.
  • Neuroph - Neuroph is lightweight Java neural network framework
  • ORYX - Lambda Architecture Framework using Apache Spark and Apache Kafka with a specialization for real-time large-scale machine learning.
  • Samoa SAMOA is a framework that includes distributed machine learning for data streams with an interface to plug-in different stream processing platforms.
  • RankLib - RankLib is a library of learning to rank algorithms.
  • rapaio37 11 - statistics, data mining and machine learning toolbox in Java.
  • RapidMiner - RapidMiner integration into Java code.
  • Stanford Classifier - A classifier is a machine learning tool that will take data items and place them into one of k classes.
  • SmileMiner4k 686 - Statistical Machine Intelligence & Learning Engine.
  • SystemML1k 415 - flexible, scalable machine learning (ML) language.
  • WalnutiQ169 54 - object oriented model of the human brain.
  • Weka - Weka is a collection of machine learning algorithms for data mining tasks.
  • LBJava5 15 - Learning Based Java is a modeling language for the rapid development of software systems, offers a convenient, declarative syntax for classifier and constraint definition directly in terms of the objects in the programmer's application.

Speech Recognition

  • CMU Sphinx - Open Source Toolkit For Speech Recognition purely based on Java speech recognition library.

Data Analysis / Data Visualization

  • Flink - Open source platform for distributed stream and batch data processing.
  • Hadoop3 5 - Hadoop/HDFS.
  • Onyx1k 169 - Distributed, masterless, high performance, fault tolerant data processing. Written entirely in Clojure.
  • Spark18k 18k - Spark is a fast and general engine for large-scale data processing.
  • Storm - Storm is a distributed realtime computation system.
  • Impala841 267 - Real-time Query for Hadoop.
  • DataMelt - Mathematics software for numeric computation, statistics, symbolic calculations, data analysis and data visualization.
  • Dr. Michael Thomas Flanagan's Java Scientific Library

Deep Learning

  • Deeplearning4j11k 4k - Scalable deep learning for industry with parallel GPUs.

Javascript

Natural Language Processing

  • Twitter-text2k 316 - A JavaScript implementation of Twitter's text processing library.
  • natural7k 714 - General natural language facilities for node.
  • Knwl.js6k 271 - A Natural Language Processor in JS.
  • Retext1k 78 - Extensible system for analyzing and manipulating natural language.
  • NLP Compromise995 109 - Natural Language processing in the browser.

Data Analysis / Data Visualization

General-Purpose Machine Learning

  • Convnet.js - ConvNetJS is a Javascript library for training Deep Learning models[DEEP LEARNING]
  • Clusterfck - Agglomerative hierarchical clustering implemented in Javascript for Node.js and the browser.
  • Clustering.js11 2 - Clustering algorithms implemented in Javascript for Node.js and the browser.
  • Decision Trees32 9 - NodeJS Implementation of Decision Tree using ID3 Algorithm.
  • DN2A460 14 - Digital Neural Networks Architecture.
  • figue - K-means, fuzzy c-means and agglomerative clustering.
  • Gaussian Mixture Model - Unsupervised machine learning with multivariate Gaussian mixture model.
  • Node-fann190 34 - FANN (Fast Artificial Neural Network Library) bindings for Node.js
  • Keras.js2k 199 - Run Keras models in the browser, with GPU support provided by WebGL 2.
  • Kmeans.js - Simple Javascript implementation of the k-means algorithm, for node.js and the browser.
  • LDA.js43 6 - LDA topic modeling for Node.js
  • Learning.js9 1 - Javascript implementation of logistic regression/c4.5 decision tree
  • Machine Learning - Machine learning library for Node.js
  • machineJS284 36 - Automated machine learning, data formatting, ensembling, and hyperparameter optimization for competitions and exploration- just give it a .csv file!
  • mil-tokyo - List of several machine learning libraries.
  • Node-SVM243 42 - Support Vector Machine for Node.js
  • Brain5k 464 - Neural networks in JavaScript [Deprecated]
  • Brain.js833 105 - Neural networks in JavaScript - continued community fork of Brain5k 464 .
  • Bayesian-Bandit38 4 - Bayesian bandit implementation for Node and the browser.
  • Synaptic5k 539 - Architecture-free neural network library for Node.js and the browser.
  • kNear - JavaScript implementation of the k nearest neighbors algorithm for supervised learning.
  • NeuralN209 20 - C++ Neural Network library for Node.js. It has advantage on large dataset and multi-threaded training.
  • kalman32 11 - Kalman filter for Javascript.
  • shaman55 6 - Node.js library with support for both simple and multiple linear regression.
  • ml.js649 79 - Machine learning and numerical analysis tools for Node.js and the Browser!
  • Pavlov.js536 22 - Reinforcement learning using Markov Decision Processes.
  • MXNet12k 5k - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.
  • deeplearnjs6k 570 - A hardware-accelerated machine intelligence library for the web
  • JSMLT - Machine learning toolkit with classification and clustering for Node.js; supports visualization (see visualml.io).

Misc

  • stdlib648 38 - 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.
  • sylvester977 133 - Vector and Matrix math for JavaScript.
  • simple-statistics932 96 - 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-js625 146 - A javascript library containing a collection of least squares fitting methods for finding a trend in a set of data.
  • Lyric26 8 - Linear Regression library.
  • GreatCircle18 1 - Library for calculating great circle distance.
  • MLPleaseHelp1 4 - MLPleaseHelp is a simple ML resource search engine. You can use this search engine right now at https://jgreenemi.github.io/MLPleaseHelp/, provided via Github Pages.

Julia

General-Purpose Machine Learning

  • MachineLearning19 5 - Julia Machine Learning library.
  • MLBase102 37 - A set of functions to support the development of machine learning algorithms.
  • PGM19 3 - A Julia framework for probabilistic graphical models.
  • DA4 7 - Julia package for Regularized Discriminant Analysis.
  • Regression41 19 - Algorithms for regression analysis (e.g. linear regression and logistic regression).
  • Local Regression1 4 - Local regression, so smooooth!.
  • Naive Bayes - Simple Naive Bayes implementation in Julia.
  • Mixed Models103 37 - A Julia package for fitting (statistical) mixed-effects models.
  • Simple MCMC8 0 - basic mcmc sampler implemented in Julia.
  • Distance30 19 - Julia module for Distance evaluation.
  • Decision Tree95 45 - Decision Tree Classifier and Regressor.
  • Neural38 17 - A neural network in Julia.
  • MCMC15 4 - MCMC tools for Julia.
  • Mamba121 60 - Markov chain Monte Carlo (MCMC) for Bayesian analysis in Julia.
  • GLM178 73 - Generalized linear models in Julia.
  • Gaussian Processes38 18 - Julia package for Gaussian processes.
  • Online Learning4 0
  • GLMNet42 20 - Julia wrapper for fitting Lasso/ElasticNet GLM models using glmnet.
  • Clustering87 71 - Basic functions for clustering data: k-means, dp-means, etc.
  • SVM33 26 - SVM's for Julia.
  • Kernel Density33 22 - Kernel density estimators for julia.
  • Dimensionality Reduction15 8 - Methods for dimensionality reduction.
  • NMF36 21 - A Julia package for non-negative matrix factorization.
  • ANN28 4 - Julia artificial neural networks.
  • Mocha999 260 - Deep Learning framework for Julia inspired by Caffe.
  • XGBoost42 29 - eXtreme Gradient Boosting Package in Julia.
  • ManifoldLearning5 1 - A Julia package for manifold learning and nonlinear dimensionality reduction.
  • MXNet12k 5k - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.
  • Merlin87 8 - Flexible Deep Learning Framework in Julia.
  • ROCAnalysis8 2 - Receiver Operating Characteristics and functions for evaluation probabilistic binary classifiers.
  • GaussianMixtures16 10 - Large scale Gaussian Mixture Models.
  • ScikitLearn113 13 - Julia implementation of the scikit-learn API.
  • Knet384 104 - Koç University Deep Learning Framework.

Natural Language Processing

Data Analysis / Data Visualization

  • Graph Layout44 26 - Graph layout algorithms in pure Julia.
  • LightGraphs182 102 - Graph modeling and analysis.
  • Data Frames Meta91 32 - Metaprogramming tools for DataFrames.
  • Julia Data3 0 - library for working with tabular data in Julia.
  • Data Read - Read files from Stata, SAS, and SPSS.
  • Hypothesis Tests46 39 - Hypothesis tests for Julia.
  • Gadfly201 48 - Crafty statistical graphics for Julia.
  • Stats - Statistical tests for Julia.
  • RDataSets65 33 - Julia package for loading many of the data sets available in R.
  • DataFrames427 242 - library for working with tabular data in Julia.
  • Distributions307 212 - A Julia package for probability distributions and associated functions.
  • Data Arrays46 62 - Data structures that allow missing values.
  • Time Series87 41 - Time series toolkit for Julia.
  • Sampling - Basic sampling algorithms for Julia.

Misc Stuff / Presentations

  • DSP90 48 - Digital Signal Processing (filtering, periodograms, spectrograms, window functions).
  • JuliaCon Presentations50 9 - Presentations for JuliaCon.
  • SignalProcessing - Signal Processing tools for Julia.
  • Images29 26 - An image library for Julia.

Lua

General-Purpose Machine Learning

  • Torch7
    • cephes27 16 - 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.
    • autograd535 115 - Autograd automatically differentiates native Torch code. Inspired by the original Python version.
    • graph32 26 - Graph package for Torch.
    • randomkit28 19 - Numpy's randomkit, wrapped for Torch.
    • signal - A signal processing toolbox for Torch-7. FFT, DCT, Hilbert, cepstrums, stft.
    • nn997 1k - Neural Network package for Torch.
    • torchnet963 219 - framework for torch which provides a set of abstractions aiming at encouraging code re-use as well as encouraging modular programming.
    • nngraph241 101 - This package provides graphical computation for nn library in Torch7.
    • nnx17 9 - A completely unstable and experimental package that extends Torch's builtin nn library.
    • rnn862 385 - 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.
    • dp377 184 - 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.
    • optim175 187 - An optimization library for Torch. SGD, Adagrad, Conjugate-Gradient, LBFGS, RProp and more.
    • unsup90 40 - A package for unsupervised learning in Torch. Provides modules that are compatible with nn (LinearPsd, ConvPsd, AutoEncoder, ...), and self-contained algorithms (k-means, PCA).
    • manifold101 29 - A package to manipulate manifolds.
    • svm5 9 - Torch-SVM library.
    • lbfgs - FFI Wrapper for liblbfgs.
    • vowpalwabbit - An old vowpalwabbit interface to torch.
    • OpenGM3 0 - 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.
    • cutorch245 198 - Torch CUDA Implementation.
    • cunn174 205 - Torch CUDA Neural Network Implementation.
    • imgraph7 5 - 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.
    • videograph4 0 - 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.
    • saliency2 0 - 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.
    • fex2 1 - A package for feature extraction in Torch. Provides SIFT and dSIFT modules.
    • OverFeat208 63 - A state-of-the-art generic dense feature extractor.
    • wav2letter - a simple and efficient end-to-end Automatic Speech Recognition (ASR) system from Facebook AI Research.
  • Numeric Lua
  • Lunatic Python
  • SciLua
  • Lua - Numerical Algorithms
  • Lunum11 0

Demos and Scripts

  • Core torch7 demos repository47 28 .
    • linear-regression, logistic-regression
    • face detector (training and detection as separate demos)
    • mst-based-segmenter
    • train-a-digit-classifier
    • train-autoencoder
    • optical flow demo
    • train-on-housenumbers
    • train-on-cifar
    • tracking with deep nets
    • kinect demo
    • filter-bank visualization
    • saliency-networks
  • Training a Convnet for the Galaxy-Zoo Kaggle challenge(CUDA demo)15 5
  • Music Tagging - Music Tagging scripts for torch7.
  • torch-datasets12 15 - Scripts to load several popular datasets including:
    • BSR 500
    • CIFAR-10
    • COIL
    • Street View House Numbers
    • MNIST
    • NORB
  • Atari26002 1 - Scripts to generate a dataset with static frames from the Arcade Learning Environment.

Matlab

Computer Vision

  • Contourlets - MATLAB source code that implements the contourlet transform and its utility functions.
  • 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.
  • Bandlets - MATLAB code for bandlet transform.
  • mexopencv - Collection and a development kit of MATLAB mex functions for OpenCV library.

Natural Language Processing

  • NLP - An NLP library for Matlab.

General-Purpose Machine Learning

Data Analysis / Data Visualization

  • matlab_gbl - MatlabBGL is a Matlab package for working with graphs.
  • gamic - Efficient pure-Matlab implementations of graph algorithms to complement MatlabBGL's mex functions.

.NET

Computer Vision

  • 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 e run on Windows, Linus, Mac OS X, iOS, and Android.
  • AForge.NET - Open source C# framework for developers and researchers in the fields of Computer Vision and Artificial Intelligence. Development has now shifted to GitHub.
  • Accord.NET - Together with AForge.NET, this library can provide image processing and computer vision algorithms to Windows, Windows RT and Windows Phone. Some components are also available for Java and Android.

Natural Language Processing

  • Stanford.NLP for .NET316 82 - A full port of Stanford NLP packages to .NET and also available precompiled as a NuGet package.

General-Purpose Machine Learning

  • Accord-Framework -The Accord.NET Framework is a complete framework for building machine learning, computer vision, computer audition, signal processing and statistical applications.
  • Accord.MachineLearning - Support Vector Machines, Decision Trees, Naive Bayesian models, K-means, Gaussian Mixture models and general algorithms such as Ransac, Cross-validation and Grid-Search for machine-learning applications. This package is part of the Accord.NET Framework.
  • 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.
  • Vulpes69 5 - Deep belief and deep learning implementation written in F# and leverages CUDA GPU execution with Alea.cuBase.
  • Encog - An advanced neural network and machine learning framework. Encog contains classes to create a wide variety of networks, as well as support classes to normalize and process data for these neural networks. Encog trains using multithreaded resilient propagation. Encog can also make use of a GPU to further speed processing time. A GUI based workbench is also provided to help model and train neural networks.
  • 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.
  • 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.

Data Analysis / Data Visualization

  • numl - numl is a machine learning library intended to ease the use of using standard modeling techniques for both prediction and clustering.
  • Math.NET Numerics - Numerical foundation of the Math.NET project, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Supports .Net 4.0, .Net 3.5 and Mono on Windows, Linux and Mac; Silverlight 5, WindowsPhone/SL 8, WindowsPhone 8.1 and Windows 8 with PCL Portable Profiles 47 and 344; Android/iOS with Xamarin.
  • 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.

Objective C

General-Purpose Machine Learning

  • YCML98 21 - A Machine Learning framework for Objective-C and Swift (OS X / iOS).
  • MLPNeuralNet2k 491 - 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.
  • MAChineLearning23 5 - 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-NeuralNetwork18 7 - 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-NeuralNetwork21 3 - it implemented multi-perceptrons neural network (ニューラルネットワーク) based on Back Propagation Neural Network (BPN) and designed unlimited-hidden-layers.
  • KRHebbian-Algorithm10 2 - It is a non-supervisor and self-learning algorithm (adjust the weights) in neural network of Machine Learning.
  • KRKmeans-Algorithm14 5 - It implemented K-Means the clustering and classification algorithm. It could be used in data mining and image compression.
  • KRFuzzyCMeans-Algorithm9 1 - 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

  • Oml80 8 - A general statistics and machine learning library.
  • GPR - Efficient Gaussian Process Regression in OCaml.
  • Libra-Tk - Algorithms for learning and inference with discrete probabilistic models.
  • TensorFlow111 9 - OCaml bindings for TensorFlow.

Perl

Data Analysis / Data Visualization

General-Purpose Machine Learning

Perl 6

Data Analysis / Data Visualization

General-Purpose Machine Learning

PHP

Natural Language Processing

  • jieba-php353 104 - Chinese Words Segmentation Utilities.

General-Purpose Machine Learning

  • PHP-ML3k 424 - Machine Learning library for PHP. Algorithms, Cross Validation, Neural Network, Preprocessing, Feature Extraction and much more in one library.
  • PredictionBuilder74 10 - A library for machine learning that builds predictions using a linear regression.

Python

Computer Vision

  • Scikit-Image2k 1k - 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.
  • Vigranumpy261 161 - Python bindings for the VIGRA C++ computer vision library.
  • OpenFace - Free and open source face recognition with deep neural networks.
  • PCV531 140 - Open source Python module for computer vision.
  • face_recognition9k 2k - 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.

Natural Language Processing

  • NLTK - A leading platform for building Python programs to work with human language data.
  • Pattern - A web mining module for the Python programming language. It has tools for natural language processing, machine learning, among others.
  • Quepy385 60 - A python framework to transform natural language questions to queries in a database query language.
  • TextBlob - Providing a consistent API for diving into common natural language processing (NLP) tasks. Stands on the giant shoulders of NLTK and Pattern, and plays nicely with both.
  • YAlign71 18 - A sentence aligner, a friendly tool for extracting parallel sentences from comparable corpora.
  • jieba - Chinese Words Segmentation Utilities.
  • SnowNLP715 188 - A library for processing Chinese text.
  • spammy64 8 - A library for email Spam filtering built on top of nltk
  • loso49 10 - Another Chinese segmentation library.
  • genius61 20 - A Chinese segment base on Conditional Random Field.
  • KoNLPy - A Python package for Korean natural language processing.
  • nut61 9 - Natural language Understanding Toolkit.
  • Rosetta169 41 - Text processing tools and wrappers (e.g. Vowpal Wabbit)
  • BLLIP Parser - Python bindings for the BLLIP Natural Language Parser (also known as the Charniak-Johnson parser).
  • PyNLPl289 54 - Python Natural Language Processing Library. General purpose NLP library for Python. Also contains some specific modules for parsing common NLP formats, most notably for FoLiA, but also ARPA language models, Moses phrasetables, GIZA++ alignments.
  • python-ucto17 3 - Python binding to ucto (a unicode-aware rule-based tokenizer for various languages).
  • python-frog16 7 - Python binding to Frog, an NLP suite for Dutch. (pos tagging, lemmatisation, dependency parsing, NER)
  • python-zpar34 10 - Python bindings for ZPar, a statistical part-of-speech-tagger, constiuency parser, and dependency parser for English.
  • colibri-core65 11 - Python binding to C++ library for extracting and working with with basic linguistic constructions such as n-grams and skipgrams in a quick and memory-efficient way.
  • spaCy1k 155 - Industrial strength NLP with Python and Cython.
  • PyStanfordDependencies33 8 - Python interface for converting Penn Treebank trees to Stanford Dependencies.
  • Distance7 1 - Levenshtein and Hamming distance computation.
  • Fuzzy Wuzzy3k 404 - Fuzzy String Matching in Python.
  • jellyfish375 45 - a python library for doing approximate and phonetic matching of strings.
  • editdistance - fast implementation of edit distance.
  • textacy618 113 - higher-level NLP built on Spacy.
  • stanford-corenlp-python195 75 - Python wrapper for Stanford CoreNLP3k 1k
  • CLTK275 266 - The Classical Language Toolkit.
  • rasa_nlu2k 306 - turn natural language into structured data.
  • yase - Transcode sentence (or other sequence) to list of word vector .
  • Polyglot524 118 - Multilingual text (NLP) processing toolkit.
  • DrQA444 72 - Reading Wikipedia to answer open-domain questions.

General-Purpose Machine Learning

  • CNTK16k 5k - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. Documentation can be found here.
  • auto_ml635 125 - Automated machine learning for production and analytics. Lets you focus on the fun parts of ML, while outputting production-ready code, and detailed analytics of your dataset and results. Includes support for NLP, XGBoost, CatBoost, LightGBM, and soon, deep learning.
  • machine learning151 64 - automated build consisting of a web-interface, and set of programmatic-interface API, for support vector machines. Corresponding dataset(s) are stored into a SQL database, then generated model(s) used for prediction(s), are stored into a NoSQL datastore.
  • XGBoost9k 5k - Python bindings for eXtreme Gradient Boosting (Tree) Library.
  • Bayesian Methods for Hackers13k 4k - Book/iPython notebooks on Probabilistic Programming in Python.
  • Featureforge275 68 A set of tools for creating and testing machine learning features, with a scikit-learn compatible API.
  • MLlib in Apache Spark - Distributed machine learning library in Spark
  • Hydrosphere Mist150 46 - a service for deployment Apache Spark MLLib machine learning models as realtime, batch or reactive web services.
  • scikit-learn - A Python module for machine learning built on top of SciPy.
  • metric-learn254 67 - A Python module for metric learning.
  • SimpleAI779 168 Python implementation of many of the artificial intelligence algorithms described on the book "Artificial Intelligence, a Modern Approach". It focuses on providing an easy to use, well documented and tested library.
  • astroML - Machine Learning and Data Mining for Astronomy.
  • graphlab-create - A library with various machine learning models (regression, clustering, recommender systems, graph analytics, etc.) implemented on top of a disk-backed DataFrame.
  • BigML - A library that contacts external servers.
  • pattern3k 422 - Web mining module for Python.
  • NuPIC6k 2k - Numenta Platform for Intelligent Computing.
  • Pylearn23k 1k - A Machine Learning library based on Theano8k 3k .
  • keras24k 10k - Modular neural network library based on Theano8k 3k .
  • Lasagne3k 956 - Lightweight library to build and train neural networks in Theano.
  • hebel1k 136 - GPU-Accelerated Deep Learning Library in Python.
  • Chainer3k 853 - Flexible neural network framework.
  • prophet - Fast and automated time series forecasting framework by Facebook.
  • gensim4k 2k - Topic Modelling for Humans.
  • topik82 20 - Topic modelling toolkit.
  • PyBrain2k 830 - Another Python Machine Learning Library.
  • Brainstorm1k 158 - Fast, flexible and fun neural networks. This is the successor of PyBrain.
  • Surprise - A scikit for building and analyzing recommender systems.
  • Crab441 149 - A flexible, fast recommender engine.
  • python-recsys316 121 - A Python library for implementing a Recommender System.
  • thinking bayes166 237 - Book on Bayesian Analysis.
  • Image-to-Image Translation with Conditional Adversarial Networks - Implementation of image to image (pix2pix) translation from the paper by isola et al.[DEEP LEARNING]
  • Restricted Boltzmann Machines264 88 -Restricted Boltzmann Machines in Python. [DEEP LEARNING]
  • Bolt57 3 - Bolt Online Learning Toolbox.
  • CoverTree9 3 - Python implementation of cover trees, near-drop-in replacement for scipy.spatial.kdtree
  • nilearn327 226 - Machine learning for NeuroImaging in Python.
  • neuropredict6 6 - Aimed at novice machine learners and non-expert programmers, this package offers easy (no coding needed) and comprehensive machine learning (evaluation and full report of predictive performance WITHOUT requiring you to code) in Python for NeuroImaging and any other type of features. This is aimed at absorbing the much of the ML workflow, unlike other packages like nilearn and pymvpa, which require you to learn their API and code to produce anything useful.
  • imbalanced-learn - Python module to perform under sampling and over sampling with various techniques.
  • Shogun2k 1k - The Shogun Machine Learning Toolbox.
  • Pyevolve124 33 - Genetic algorithm framework.
  • Caffe - A deep learning framework developed with cleanliness, readability, and speed in mind.
  • breze98 59 - Theano based library for deep and recurrent neural networks.
  • pyhsmm299 100 - library for approximate unsupervised inference in Bayesian Hidden Markov Models (HMMs) and explicit-duration Hidden semi-Markov Models (HSMMs), focusing on the Bayesian Nonparametric extensions, the HDP-HMM and HDP-HSMM, mostly with weak-limit approximations.
  • mrjob - A library to let Python program run on Hadoop.
  • SKLL435 67 - A wrapper around scikit-learn that makes it simpler to conduct experiments.
  • neurolab477 44 - https://github.com/zueve/neurolab477 44
  • Spearmint365 80 - Spearmint is a package to perform Bayesian optimization according to the algorithms outlined in the paper: Practical Bayesian Optimization of Machine Learning Algorithms. Jasper Snoek, Hugo Larochelle and Ryan P. Adams. Advances in Neural Information Processing Systems, 2012.
  • Pebl60 16 - Python Environment for Bayesian Learning.
  • Theano8k 3k - Optimizing GPU-meta-programming code generating array oriented optimizing math compiler in Python.
  • TensorFlow100k 52k - Open source software library for numerical computation using data flow graphs.
  • yahmm97 11 - Hidden Markov Models for Python, implemented in Cython for speed and efficiency.
  • python-timbl16 4 - A Python extension module wrapping the full TiMBL C++ programming interface. Timbl is an elaborate k-Nearest Neighbours machine learning toolkit.
  • deap - Evolutionary algorithm framework.
  • pydeep1k 269 - Deep Learning In Python.
  • mlxtend1k 372 - A library consisting of useful tools for data science and machine learning tasks.
  • neon4k 887 - Nervana's high-performance2k 477 Python-based Deep Learning framework [DEEP LEARNING].
  • Optunity - A library dedicated to automated hyperparameter optimization with a simple, lightweight API to facilitate drop-in replacement of grid search.
  • Neural Networks and Deep Learning450 160 - Code samples for my book "Neural Networks and Deep Learning" [DEEP LEARNING].
  • Annoy3k 376 - Approximate nearest neighbours implementation.
  • skflow2k 342 - Simplified interface for TensorFlow, mimicking Scikit Learn.
  • TPOT3k 423 - Tool that automatically creates and optimizes machine learning pipelines using genetic programming. Consider it your personal data science assistant, automating a tedious part of machine learning.
  • pgmpy505 262 A python library for working with Probabilistic Graphical Models.
  • DIGITS3k 1k - The Deep Learning GPU Training System (DIGITS) is a web application for training deep learning models.
  • Orange - Open source data visualization and data analysis for novices and experts.
  • MXNet12k 5k - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.
  • milk575 128 - Machine learning toolkit focused on supervised classification.
  • TFLearn7k 1k - Deep learning library featuring a higher-level API for TensorFlow.
  • REP449 102 - an IPython-based environment for conducting data-driven research in a consistent and reproducible way. REP is not trying to substitute scikit-learn, but extends it and provides better user experience.
  • rgf_python107 27 - Python bindings for Regularized Greedy Forest (Tree) Library.
  • skbayes - Python package for Bayesian Machine Learning with scikit-learn API.
  • fuku-ml156 30 - Simple machine learning library, including Perceptron, Regression, Support Vector Machine, Decision Tree and more, it's easy to use and easy to learn for beginners.
  • Xcessiv557 40 - A web-based application for quick, scalable, and automated hyperparameter tuning and stacked ensembling.
  • PyTorch13k 3k - Tensors and Dynamic neural networks in Python with strong GPU acceleration
  • ML-From-Scratch - Implementations of Machine Learning models from scratch in Python with a focus on transparency. Aims to showcase the nuts and bolts of ML in an accessible way.
  • Edward - A library for probabilistic modeling, inference, and criticism. Built on top of TensorFlow.
  • xRBM21 7 - A library for Restricted Boltzmann Machine (RBM) and its conditional variants in Tensorflow.
  • CatBoost2k 273 - General purpose gradient boosting on decision trees library with categorical features support out of the box. It is easy to install, well documented and supports CPU and GPU (even multi-GPU) computation.
  • stacked_generalization45 8 - Implementation of machine learning stacking technic as handy library in Python.
  • modAL - A modular active learning framework for Python, built on top of scikit-learn.
  • Cogitare: A Modern, Fast, and Modular Deep Learning and Machine Learning framework for Python.
  • Parris303 18 - Parris, the automated infrastructure setup tool for machine learning algorithms.
  • neonrvm - neonrvm is an open source machine learning library based on RVM technique. It's written in C programming language and comes with Python programming language bindings.

Data Analysis / Data Visualization

  • SciPy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
  • NumPy - A fundamental package for scientific computing with Python.
  • Numba - Python JIT (just in time) complier to LLVM aimed at scientific Python by the developers of Cython and NumPy.
  • NetworkX - A high-productivity software for complex networks.
  • igraph - binding to igraph library - General purpose graph library.
  • Pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.
  • Open Mining241 56 - Business Intelligence (BI) in Python (Pandas web interface)
  • PyMC2k 405 - Markov Chain Monte Carlo sampling toolkit.
  • zipline7k 2k - A Pythonic algorithmic trading library.
  • PyDy - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion based around NumPy, SciPy, IPython, and matplotlib.
  • SymPy5k 3k - A Python library for symbolic mathematics.
  • statsmodels2k 1k - Statistical modeling and econometrics in Python.
  • astropy - A community Python library for Astronomy.
  • matplotlib - A Python 2D plotting library.
  • bokeh8k 2k - Interactive Web Plotting for Python.
  • plotly - Collaborative web plotting for Python and matplotlib.
  • vincent2k 246 - A Python to Vega translator.
  • d3py957 139 - A plotting library for Python, based on D3.js.
  • PyDexter30 4 - Simple plotting for Python. Wrapper for D3xterjs; easily render charts in-browser.
  • ggplot - Same API as ggplot2 for R.
  • ggfortify283 49 - Unified interface to ggplot2 popular R packages.
  • Kartograph.py692 126 - Rendering beautiful SVG maps in Python.
  • pygal - A Python SVG Charts Creator.
  • PyQtGraph729 375 - A pure-python graphics and GUI library built on PyQt4 / PySide and NumPy.
  • pycascading207 30
  • Petrel271 79 - Tools for writing, submitting, debugging, and monitoring Storm topologies in pure Python.
  • Blaze862 117 - NumPy and Pandas interface to Big Data.
  • emcee768 358 - The Python ensemble sampling toolkit for affine-invariant MCMC.
  • windML - A Python Framework for Wind Energy Analysis and Prediction.
  • vispy1k 367 - GPU-based high-performance interactive OpenGL 2D/3D data visualization library.
  • cerebro25 11 A web-based visualization and debugging platform for NuPIC.
  • NuPIC Studio An all-in-one NuPIC Hierarchical Temporal Memory visualization and debugging super-tool!
  • SparklingPandas178 35 Pandas on PySpark (POPS).
  • Seaborn - A python visualization library based on matplotlib.
  • bqplot2k 188 - An API for plotting in Jupyter (IPython).
  • pastalog346 38 - Simple, realtime visualization of neural network training performance.
  • caravel7k 1k - A data exploration platform designed to be visual, intuitive, and interactive.
  • Dora - Tools for exploratory data analysis in Python.
  • Ruffus - Computation Pipeline library for python.
  • SOMPY134 80 - Self Organizing Map written in Python (Uses neural networks for data analysis).
  • somoclu118 41 Massively parallel self-organizing maps: accelerate training on multicore CPUs, GPUs, and clusters, has python API.
  • HDBScan468 61 - implementation of the hdbscan algorithm in Python - used for clustering
  • visualize_ML159 17 - A python package for data exploration and data analysis.
  • scikit-plot1k 102 - A visualization library for quick and easy generation of common plots in data analysis and machine learning.
  • Bowtie553 44 - A dashboard library for interactive visualizations using flask socketio and react.
  • lime2k 322 - Lime is about explaining what machine learning classifiers (or models) are doing. It is able to explain any black box classifier, with two or more classes.

Misc Scripts / iPython Notebooks / Codebases

Neural Networks

  • NeuralTalk2k 270 - NeuralTalk is a Python+numpy project for learning Multimodal Recurrent Neural Networks that describe images with sentences.
  • Neuron - Neuron is simple class for time series predictions. It's utilize LNU (Linear Neural Unit), QNU (Quadratic Neural Unit), RBF (Radial Basis Function), MLP (Multi Layer Perceptron), MLP-ELM (Multi Layer Perceptron - Extreme Learning Machine) neural networks learned with Gradient descent or LeLevenberg–Marquardt algorithm.
  • Data Driven Code4 1 - Very simple implementation of neural networks for dummies in python without using any libraries, with detailed comments.

Kaggle Competition Source Code

Reinforcement Learning

  • DeepMind Lab4k 797 - DeepMind Lab is a 3D learning environment based on id Software's Quake III Arena via ioquake3 and other open source software. Its primary purpose is to act as a testbed for research in artificial intelligence, especially deep reinforcement learning.
  • Gym9k 2k - OpenAI Gym is a toolkit for developing and comparing reinforcement learning algorithms.
  • Serpent.AI3k 240 - Serpent.AI is a game agent framework that allows you to turn any video game you own into a sandbox to develop AI and machine learning experiments. For both researchers and hobbyists.
  • Universe6k 619 - Universe is a software platform for measuring and training an AI's general intelligence across the world's supply of games, websites and other applications.
  • ViZDoom156 58 - ViZDoom allows developing AI bots that play Doom using only the visual information (the screen buffer). It is primarily intended for research in machine visual learning, and deep reinforcement learning, in particular.

Ruby

Natural Language Processing

  • Awesome NLP with Ruby500 22 - Curated link list for practical natural language processing in Ruby.
  • Treat845 85 - Text REtrieval and Annotation Toolkit, definitely the most comprehensive toolkit I’ve encountered so far for Ruby.
  • Ruby Linguistics - Linguistics is a framework for building linguistic utilities for Ruby objects in any language. It includes a generic language-independent front end, a module for mapping language codes into language names, and a module which contains various English-language utilities.
  • Stemmer243 15 - Expose libstemmer_c to Ruby.
  • Ruby Wordnet - This library is a Ruby interface to WordNet.
  • Raspel - raspell is an interface binding for ruby.
  • UEA Stemmer30 2 - Ruby port of UEALite Stemmer - a conservative stemmer for search and indexing.
  • Twitter-text-rb645 171 - A library that does auto linking and extraction of usernames, lists and hashtags in tweets.

General-Purpose Machine Learning

Data Analysis / Data Visualization

  • rsruby266 42 - Ruby - R bridge.
  • data-visualization-ruby53 5 - Source code and supporting content for my Ruby Manor presentation on Data Visualisation with Ruby.
  • ruby-plot - gnuplot wrapper for Ruby, especially for plotting ROC curves into SVG files.
  • plot-rb18 13 - A plotting library in Ruby built on top of Vega and D3.
  • scruffy - A beautiful graphing toolkit for Ruby.
  • SciRuby
  • Glean127 7 - A data management tool for humans.
  • Bioruby326 125
  • Arel223 308

Misc

Rust

General-Purpose Machine Learning

  • deeplearn-rs - deeplearn-rs provides simple networks that use matrix multiplication, addition, and ReLU under the MIT license.
  • rustlearn241 11 - a machine learning framework featuring logistic regression, support vector machines, decision trees and random forests.
  • rusty-machine466 59 - a pure-rust machine learning library.
  • leaf5k 296 - open source framework for machine intelligence, sharing concepts from TensorFlow and Caffe. Available under the MIT license. [Deprecated]
  • RustNN296 24 - RustNN is a feedforward neural network library.

R

General-Purpose Machine Learning

  • ahaz - ahaz: Regularization for semiparametric additive hazards regression.
  • arules - arules: Mining Association Rules and Frequent Itemsets
  • biglasso - biglasso: Extending Lasso Model Fitting to Big Data in R.
  • bigrf - bigrf: Big Random Forests: Classification and Regression Forests for Large Data Sets.
  • bigRR - bigRR: Generalized Ridge Regression (with special advantage for p >> n cases).
  • bmrm - bmrm: Bundle Methods for Regularized Risk Minimization Package.
  • Boruta - Boruta: A wrapper algorithm for all-relevant feature selection.
  • bst - bst: Gradient Boosting.
  • C50 - C50: C5.0 Decision Trees and Rule-Based Models.
  • caret - Classification and Regression Training: Unified interface to ~150 ML algorithms in R.
  • caretEnsemble - caretEnsemble: Framework for fitting multiple caret models as well as creating ensembles of such models.
  • CatBoost2k 273 - General purpose gradient boosting on decision trees library with categorical features support out of the box for R.
  • Clever Algorithms For Machine Learning140 34
  • CORElearn - CORElearn: Classification, regression, feature evaluation and ordinal evaluation.
  • CoxBoost - CoxBoost: Cox models by likelihood based boosting for a single survival endpoint or competing risks
  • Cubist - Cubist: Rule- and Instance-Based Regression Modeling.
  • e1071 - e1071: Misc Functions of the Department of Statistics (e1071), TU Wien
  • earth - earth: Multivariate Adaptive Regression Spline Models
  • elasticnet - elasticnet: Elastic-Net for Sparse Estimation and Sparse PCA.
  • ElemStatLearn - ElemStatLearn: Data sets, functions and examples from the book: "The Elements of Statistical Learning, Data Mining, Inference, and Prediction" by Trevor Hastie, Robert Tibshirani and Jerome Friedman Prediction" by Trevor Hastie, Robert Tibshirani and Jerome Friedman.
  • evtree - evtree: Evolutionary Learning of Globally Optimal Trees.
  • forecast - forecast: Timeseries forecasting using ARIMA, ETS, STLM, TBATS, and neural network models.
  • forecastHybrid - forecastHybrid: Automatic ensemble and cross validation of ARIMA, ETS, STLM, TBATS, and neural network models from the "forecast" package.
  • fpc - fpc: Flexible procedures for clustering.
  • frbs - frbs: Fuzzy Rule-based Systems for Classification and Regression Tasks.
  • GAMBoost - GAMBoost: Generalized linear and additive models by likelihood based boosting.
  • gamboostLSS - gamboostLSS: Boosting Methods for GAMLSS.
  • gbm - gbm: Generalized Boosted Regression Models.
  • glmnet - glmnet: Lasso and elastic-net regularized generalized linear models.
  • glmpath - glmpath: L1 Regularization Path for Generalized Linear Models and Cox Proportional Hazards Model.
  • GMMBoost - GMMBoost: Likelihood-based Boosting for Generalized mixed models.
  • grplasso - grplasso: Fitting user specified models with Group Lasso penalty.
  • grpreg - grpreg: Regularization paths for regression models with grouped covariates.
  • h2o - A framework for fast, parallel, and distributed machine learning algorithms at scale -- Deeplearning, Random forests, GBM, KMeans, PCA, GLM.
  • hda - hda: Heteroscedastic Discriminant Analysis.
  • Introduction to Statistical Learning
  • ipred - ipred: Improved Predictors.
  • kernlab - kernlab: Kernel-based Machine Learning Lab.
  • klaR - klaR: Classification and visualization.
  • lars - lars: Least Angle Regression, Lasso and Forward Stagewise.
  • lasso2 - lasso2: L1 constrained estimation aka ‘lasso’.
  • LiblineaR - LiblineaR: Linear Predictive Models Based On The Liblinear C/C++ Library.
  • LogicReg - LogicReg: Logic Regression.
  • Machine Learning For Hackers1k 957
  • maptree - maptree: Mapping, pruning, and graphing tree models.
  • mboost - mboost: Model-Based Boosting.
  • medley - medley: Blending regression models, using a greedy stepwise approach.
  • mlr - mlr: Machine Learning in R.
  • mvpart - mvpart: Multivariate partitioning.
  • ncvreg - ncvreg: Regularization paths for SCAD- and MCP-penalized regression models.
  • nnet - nnet: Feed-forward Neural Networks and Multinomial Log-Linear Models.
  • oblique.tree - oblique.tree: Oblique Trees for Classification Data.
  • pamr - pamr: Pam: prediction analysis for microarrays.
  • party - party: A Laboratory for Recursive Partytioning.
  • partykit - partykit: A Toolkit for Recursive Partytioning.
  • penalized - penalized: L1 (lasso and fused lasso) and L2 (ridge) penalized estimation in GLMs and in the Cox model.
  • penalizedLDA - penalizedLDA: Penalized classification using Fisher's linear discriminant.
  • penalizedSVM - penalizedSVM: Feature Selection SVM using penalty functions.
  • quantregForest - quantregForest: Quantile Regression Forests.
  • randomForest - randomForest: Breiman and Cutler's random forests for classification and regression.
  • randomForestSRC - randomForestSRC: Random Forests for Survival, Regression and Classification (RF-SRC).
  • rattle - rattle: Graphical user interface for data mining in R.
  • rda - rda: Shrunken Centroids Regularized Discriminant Analysis.
  • rdetools - rdetools: Relevant Dimension Estimation (RDE) in Feature Spaces.
  • REEMtree - REEMtree: Regression Trees with Random Effects for Longitudinal (Panel) Data.
  • relaxo - relaxo: Relaxed Lasso.
  • rgenoud - rgenoud: R version of GENetic Optimization Using Derivatives
  • rgp - rgp: R genetic programming framework.
  • Rmalschains - Rmalschains: Continuous Optimization using Memetic Algorithms with Local Search Chains (MA-LS-Chains) in R.
  • rminer - rminer: Simpler use of data mining methods (e.g. NN and SVM) in classification and regression.
  • ROCR - ROCR: Visualizing the performance of scoring classifiers.
  • RoughSets - RoughSets: Data Analysis Using Rough Set and Fuzzy Rough Set Theories.
  • rpart - rpart: Recursive Partitioning and Regression Trees.
  • RPMM - RPMM: Recursively Partitioned Mixture Model.
  • RSNNS - RSNNS: Neural Networks in R using the Stuttgart Neural Network Simulator (SNNS).
  • RWeka - RWeka: R/Weka interface.
  • RXshrink - RXshrink: Maximum Likelihood Shrinkage via Generalized Ridge or Least Angle Regression.
  • sda - sda: Shrinkage Discriminant Analysis and CAT Score Variable Selection.
  • SDDA - SDDA: Stepwise Diagonal Discriminant Analysis.
  • SuperLearner26 7 and subsemble - Multi-algorithm ensemble learning packages.
  • svmpath - svmpath: svmpath: the SVM Path algorithm.
  • tgp - tgp: Bayesian treed Gaussian process models.
  • tree - tree: Classification and regression trees.
  • varSelRF - varSelRF: Variable selection using random forests.
  • XGBoost.R793 377 - R binding for eXtreme Gradient Boosting (Tree) Library.
  • Optunity - A library dedicated to automated hyperparameter optimization with a simple, lightweight API to facilitate drop-in replacement of grid search. Optunity is written in Python but interfaces seamlessly to R.
  • igraph - binding to igraph library - General purpose graph library.
  • MXNet12k 5k - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.
  • TDSP-Utilities128 86 - Two data science utilities in R from Microsoft: 1) Interactive Data Exploration, Analysis, and Reporting (IDEAR) ; 2) Automated Modeling and Reporting (AMR).

Data Analysis / Data Visualization

  • ggplot2 - A data visualization package based on the grammar of graphics.

SAS

General-Purpose Machine Learning

  • Visual Data Mining and Machine Learning - Interactive, automated, and programmatic modeling with the latest machine learning algorithms in and end-to-end analytics environment, from data prep to deployment. Free trial available.
  • Enterprise Miner - Data mining and machine learning that creates deployable models using a GUI or code.
  • Factory Miner - Automatically creates deployable machine learning models across numerous market or customer segments using a GUI.

Data Analysis / Data Visualization

  • SAS/STAT - For conducting advanced statistical analysis.
  • University Edition - FREE! Includes all SAS packages necessary for data analysis and visualization, and includes online SAS courses.

High Performance Machine Learning

Natural Language Processing

Demos and Scripts

  • ML_Tables67 75 - Concise cheat sheets containing machine learning best practices.
  • enlighten-apply67 75 - Example code and materials that illustrate applications of SAS machine learning techniques.
  • enlighten-integration35 36 - Example code and materials that illustrate techniques for integrating SAS with other analytics technologies in Java, PMML, Python and R.
  • enlighten-deep9 14 - Example code and materials that illustrate using neural networks with several hidden layers in SAS.
  • dm-flow24 22 - Library of SAS Enterprise Miner process flow diagrams to help you learn by example about specific data mining topics.

Scala

Natural Language Processing

  • ScalaNLP - ScalaNLP is a suite of machine learning and numerical computing libraries.
  • Breeze2k 623 - Breeze is a numerical processing library for Scala.
  • Chalk125 26 - Chalk is a natural language processing library.
  • FACTORIE525 171 - FACTORIE is a toolkit for deployable probabilistic modeling, implemented as a software library in Scala. It provides its users with a succinct language for creating relational factor graphs, estimating parameters and performing inference.
  • Montague - Montague is a semantic parsing library for Scala with an easy-to-use DSL.

Data Analysis / Data Visualization

  • MLlib in Apache Spark - Distributed machine learning library in Spark
  • Hydrosphere Mist150 46 - a service for deployment Apache Spark MLLib machine learning models as realtime, batch or reactive web services.
  • Scalding3k 781 - A Scala API for Cascading.
  • Summing Bird2k 287 - Streaming MapReduce with Scalding and Storm.
  • Algebird2k 298 - Abstract Algebra for Scala.
  • xerial19 2 - Data management utilities for Scala.
  • PredictionIO1k 412 - PredictionIO, a machine learning server for software developers and data engineers.
  • BIDMat264 85 - CPU and GPU-accelerated matrix library intended to support large-scale exploratory data analysis.
  • Flink - Open source platform for distributed stream and batch data processing.
  • Spark Notebook - Interactive and Reactive Data Science using Scala and Spark.

General-Purpose Machine Learning

  • DeepLearning.scala - Creating statically typed dynamic neural networks from object-oriented & functional programming constructs.
  • Conjecture353 62 - Scalable Machine Learning in Scalding.
  • brushfire351 42 - Distributed decision tree ensemble learning in Scala.
  • ganitha106 12 - Scalding powered machine learning.
  • adam716 284 - A genomics processing engine and specialized file format built using Apache Avro, Apache Spark and Parquet. Apache 2 licensed.
  • bioscala42 15 - Bioinformatics for the Scala programming language
  • BIDMach879 191 - CPU and GPU-accelerated Machine Learning Library.
  • Figaro525 208 - a Scala library for constructing probabilistic models.
  • H2O Sparkling Water675 290 - H2O and Spark interoperability.
  • FlinkML in Apache Flink - Distributed machine learning library in Flink.
  • DynaML60 18 - Scala Library/REPL for Machine Learning Research.
  • Saul28 16 - Flexible Declarative Learning-Based Programming.
  • SwiftLearner - Simply written algorithms to help study ML or write your own implementations.
  • Smile - Statistical Machine Intelligence and Learning Engine.

Swift

General-Purpose Machine Learning

  • Bender1k 61 - Fast Neural Networks framework built on top of Metal. Supports TensorFlow models.
  • Swift AI5k 471 - Highly optimized artificial intelligence and machine learning library written in Swift.
  • BrainCore294 44 - The iOS and OS X neural network framework.
  • swix176 20 - A bare bones library that includes a general matrix language and wraps some OpenCV for iOS development.
  • DeepLearningKit an Open Source Deep Learning Framework for Apple’s iOS, OS X and tvOS. It currently allows using deep convolutional neural network models trained in Caffe on Apple operating systems.
  • AIToolbox590 63 - A toolbox framework of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians.
  • MLKit70 6 - A simple Machine Learning Framework written in Swift. Currently features Simple Linear Regression, Polynomial Regression, and Ridge Regression.
  • Swift Brain302 49 - The first neural network / machine learning library written in Swift. This is a project for AI algorithms in Swift for iOS and OS X development. This project includes algorithms focused on Bayes theorem, neural networks, SVMs, Matrices, etc...
  • Perfect TensorFlow63 11 - Swift Language Bindings of TensorFlow. Using native TensorFlow models on both macOS / Linux.
  • Awesome CoreML47 3 - A curated list of pretrained CoreML models.
  • Awesome Core ML Models668 43 - A curated list of machine learning models in CoreML format.

TensorFlow

General-Purpose Machine Learning

Credits

  • Some of the python libraries were cut-and-pasted from vinta36k 7k
  • The few go reference I found where pulled from this page43k 7k