Total Pageviews

Tuesday 23 August 2016

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).
For a list of free machine learning books available for download, go here.

Table of Contents

APL

General-Purpose Machine Learning

  • naive-apl - Naive Bayesian Classifier implementation in APL

C

General-Purpose Machine Learning

  • Recommender - A C library for product recommendations/suggestions using collaborative filtering (CF).
  • Darknet - 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.

Computer Vision

  • CCV - 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

  • OpenCV - OpenCV has C++, C, Python, Java and MATLAB interfaces and supports Windows, Linux, Android and Mac OS.
  • 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
  • VIGRA - 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

  • mlpack - A scalable C++ machine learning library
  • DLib - A suite of ML tools designed to be easy to imbed in other applications
  • encog-cpp
  • shark
  • Vowpal Wabbit (VW) - A fast out-of-core learning system.
  • sofia-ml - Suite of fast incremental algorithms.
  • Shogun - The Shogun Machine Learning Toolbox
  • Caffe - A deep learning framework developed with cleanliness, readability, and speed in mind. [DEEP LEARNING]
  • CXXNET - Yet another deep learning framework with less than 1000 lines core code [DEEP LEARNING]
  • XGBoost - A parallelized optimized general purpose gradient boosting library.
  • CUDA - This is a fast C++/CUDA implementation of convolutional [DEEP LEARNING]
  • Stan - A probabilistic programming language implementing full Bayesian statistical inference with Hamiltonian Monte Carlo sampling
  • BanditLib - A simple Multi-armed Bandit library.
  • 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.
  • Disrtibuted 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.
  • igraph - General purpose graph library
  • Warp-CTC - A fast parallel implementation of Connectionist Temporal Classification (CTC), on both CPU and GPU.
  • CNTK - 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.
  • DeepDetect - 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.
  • Fido - A highly-modular C++ machine learning library for embedded electronics and robotics.
  • DSSTNE - A software library created by Amazon for training and deploying deep neural networks using GPUs which emphasizes speed and scale over experimental flexibility.
  • Intel(R) DAAL - 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.
  • 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.

Natural Language Processing

  • MIT Information Extraction Toolkit - C, C++, and Python tools for named entity recognition and relation extraction
  • 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.
  • BLLIP Parser - BLLIP Natural Language Parser (also known as the Charniak-Johnson parser)
  • colibri-core - 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.
  • ucto - Unicode-aware regular-expression based tokenizer for various languages. Tool and C++ library. Supports FoLiA format.
  • libfolia - C++ library for the FoLiA format
  • frog - Memory-based NLP suite developed for Dutch: PoS tagger, lemmatiser, dependency parser, NER, shallow parser, morphological analyzer.
  • MeTA - MeTA : ModErn Text Analysis is a C++ Data Sciences Toolkit that facilitates mining big text data.

Speech Recognition

  • Kaldi - 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

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

Gesture Detection

  • grt - 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

  • mgl - Neural networks (boltzmann machines, feed-forward and recurrent nets), Gaussian Processes
  • mgl-gpr - Evolutionary algorithms
  • cl-libsvm - Wrapper for the libsvm support vector machine library

Clojure

Natural Language Processing

  • Clojure-openNLP - Natural Language Processing in Clojure (opennlp)
  • Infections-clj - Rails-like inflection library for Clojure and ClojureScript

General-Purpose Machine Learning

  • Touchstone - Clojure A/B testing library
  • Clojush - The Push programming language and the PushGP genetic programming system implemented in Clojure
  • Infer - Inference and machine learning in clojure
  • Clj-ML - A machine learning library for Clojure built on top of Weka and friends
  • Encog - Clojure wrapper for Encog (v3) (Machine-Learning framework that specializes in neural-nets)
  • Fungp - A genetic programming library for Clojure
  • Statistiker - Basic Machine Learning algorithms in Clojure.
  • clortex - General Machine Learning library using Numenta’s Cortical Learning Algorithm
  • comportex - Functionally composable Machine Learning library using Numenta’s Cortical Learning Algorithm

Data Analysis / Data Visualization

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

Elixir

General-Purpose Machine Learning

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

Natural Language Processing

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

Erlang

General-Purpose Machine Learning

  • Disco - Map Reduce in Erlang

Go

Natural Language Processing

  • go-porterstemmer - A native Go clean room implementation of the Porter Stemming algorithm.
  • paicehusk - Golang implementation of the Paice/Husk Stemming Algorithm.
  • snowball - Snowball Stemmer for Go.
  • go-ngram - In-memory n-gram index with compression.

General-Purpose Machine Learning

  • gago - Multi-population, flexible, parallel genetic algorithm.
  • Go Learn - Machine Learning for Go
  • go-pr - Pattern recognition package in Go lang.
  • go-ml - Linear / Logistic regression, Neural Networks, Collaborative Filtering and Gaussian Multivariate Distribution
  • bayesian - Naive Bayesian Classification for Golang.
  • go-galib - Genetic Algorithms library written in Go / golang
  • Cloudforest - Ensembles of decision trees in go/golang.
  • gobrain - Neural Networks written in go
  • GoNN - GoNN is an implementation of Neural Network in Go Language, which includes BPNN, RBF, PCN
  • MXNet - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.

Data Analysis / Data Visualization

  • go-graph - Graph library for Go/golang language.
  • SVGo - The Go Language library for SVG generation
  • RF - Random forests implementation in Go

Haskell

General-Purpose Machine Learning

  • haskell-ml - Haskell implementations of various ML algorithms.
  • HLearn - 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.
  • caffegraph - A DSL for deep neural networks
  • LambdaNet - 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.
  • 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 Java - 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.
  • ClearNLP - 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.
  • CogcompNLP - 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

  • aerosolve - A machine learning library by Airbnb designed from the ground up to be human friendly.
  • Datumbox - Machine Learning framework for rapid development of Machine Learning and Statistical applications
  • ELKI - Java toolkit for data mining. (unsupervised: clustering, outlier detection etc.)
  • 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.
  • FlinkML in Apache Flink - Distributed machine learning library in Flink
  • H2O - ML engine that supports distributed learning on Hadoop, Spark or your laptop via APIs in R, Python, Scala, REST/JSON.
  • htm.java - General Machine Learning library using Numenta’s Cortical Learning Algorithm
  • java-deeplearning - Distributed Deep Learning Platform for Java, Clojure,Scala
  • Mahout - 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
  • 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
  • rapaio - 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.
  • SmileMiner - Statistical Machine Intelligence & Learning Engine
  • SystemML - flexible, scalable machine learning (ML) language.
  • WalnutiQ - object oriented model of the human brain
  • Weka - Weka is a collection of machine learning algorithms for data mining tasks
  • LBJava - 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.
  • Hadoop - Hadoop/HDFS
  • Spark - Spark is a fast and general engine for large-scale data processing.
  • Storm - Storm is a distributed realtime computation system.
  • Impala - 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

  • Deeplearning4j - Scalable deep learning for industry with parallel GPUs

Javascript

Natural Language Processing

  • Twitter-text - A JavaScript implementation of Twitter's text processing library
  • NLP.js - NLP utilities in javascript and coffeescript
  • natural - General natural language facilities for node
  • Knwl.js - A Natural Language Processor in JS
  • Retext - Extensible system for analyzing and manipulating natural language
  • TextProcessing - Sentiment analysis, stemming and lemmatization, part-of-speech tagging and chunking, phrase extraction and named entity recognition.
  • NLP Compromise - Natural Language processing in the browser

Data Analysis / Data Visualization

  • D3.js
  • High Charts
  • NVD3.js
  • dc.js
  • chartjs
  • dimple
  • amCharts
  • D3xter - Straight forward plotting built on D3
  • statkit - Statistics kit for JavaScript
  • datakit - A lightweight framework for data analysis in JavaScript
  • science.js - Scientific and statistical computing in JavaScript.
  • Z3d - Easily make interactive 3d plots built on Three.js
  • Sigma.js - JavaScript library dedicated to graph drawing.
  • C3.js- customizable library based on D3.js for easy chart drawing.
  • Datamaps- Customizable SVG map/geo visualizations using D3.js.
  • ZingChart- library written on Vanilla JS for big data visualization.
  • cheminfo - Platform for data visualization and analysis, using the visualizer project.

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.js - Clustering algorithms implemented in Javascript for Node.js and the browser
  • Decision Trees - NodeJS Implementation of Decision Tree using ID3 Algorithm
  • DN2A - Digital Neural Networks Architecture
  • figue - K-means, fuzzy c-means and agglomerative clustering
  • Node-fann - FANN (Fast Artificial Neural Network Library) bindings for Node.js
  • Kmeans.js - Simple Javascript implementation of the k-means algorithm, for node.js and the browser
  • LDA.js - LDA topic modeling for node.js
  • Learning.js - Javascript implementation of logistic regression/c4.5 decision tree
  • Machine Learning - Machine learning library for Node.js
  • mil-tokyo - List of several machine learning libraries
  • Node-SVM - Support Vector Machine for nodejs
  • Brain - Neural networks in JavaScript [Deprecated]
  • Bayesian-Bandit - Bayesian bandit implementation for Node and the browser.
  • Synaptic - Architecture-free neural network library for node.js and the browser
  • kNear - JavaScript implementation of the k nearest neighbors algorithm for supervised learning
  • NeuralN - C++ Neural Network library for Node.js. It has advantage on large dataset and multi-threaded training.
  • kalman - Kalman filter for Javascript.
  • shaman - node.js library with support for both simple and multiple linear regression.
  • ml.js - Machine learning and numerical analysis tools for Node.js and the Browser!
  • Pavlov.js - Reinforcement learning using Markov Decision Processes
  • MXNet - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.

Misc

  • 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.

Julia

General-Purpose Machine Learning

  • 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
  • Mixed Models - A Julia package for fitting (statistical) mixed-effects models
  • 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
  • Online Learning
  • GLMNet - Julia wrapper for fitting Lasso/ElasticNet GLM models using glmnet
  • Clustering - Basic functions for clustering data: k-means, dp-means, etc.
  • SVM - SVM's for Julia
  • Kernal 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
  • MXNet - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.
  • 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

Natural Language Processing

Data Analysis / Data Visualization

  • Graph Layout - Graph layout algorithms in pure Julia
  • 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

Misc Stuff / Presentations

  • 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

Lua

General-Purpose Machine Learning

  • Torch7
    • 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.
    • graph - Graph package for Torch
    • randomkit - Numpy's randomkit, wrapped for Torch
    • signal - A signal processing toolbox for Torch-7. FFT, DCT, Hilbert, cepstrums, stft
    • nn - Neural Network package for Torch
    • torchnet - framework for torch which provides a set of abstractions aiming at encouraging code re-use as well as encouraging modular programming
    • 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
  • Lunatic Python
  • SciLua
  • Lua - Numerical Algorithms
  • Lunum

Demos and Scripts

  • Core torch7 demos repository.
    • 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)
  • Music Tagging - Music Tagging scripts for torch7
  • torch-datasets - Scripts to load several popular datasets including:
    • BSR 500
    • CIFAR-10
    • COIL
    • Street View House Numbers
    • MNIST
    • NORB
  • Atari2600 - 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 .NET - 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.
  • Vulpes - 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.

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

  • 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

  • Oml - 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.

PHP

Natural Language Processing

  • jieba-php - Chinese Words Segmentation Utilities.

General-Purpose Machine Learning

  • PredictionBuilder - A library for machine learning that builds predictions using a linear regression.

Python

Computer Vision

  • 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.
  • Vigranumpy - Python bindings for the VIGRA C++ computer vision library.
  • OpenFace - Free and open source face recognition with deep neural networks.
  • PCV - Open source Python module for computer vision

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.
  • Quepy - 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.
  • YAlign - A sentence aligner, a friendly tool for extracting parallel sentences from comparable corpora.
  • jieba - Chinese Words Segmentation Utilities.
  • SnowNLP - A library for processing Chinese text.
  • spammy - A library for email Spam filtering built on top of nltk
  • loso - Another Chinese segmentation library.
  • genius - A Chinese segment base on Conditional Random Field.
  • KoNLPy - A Python package for Korean natural language processing.
  • nut - Natural language Understanding Toolkit
  • Rosetta - 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)
  • PyNLPl - 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-ucto - Python binding to ucto (a unicode-aware rule-based tokenizer for various languages)
  • python-frog - Python binding to Frog, an NLP suite for Dutch. (pos tagging, lemmatisation, dependency parsing, NER)
  • python-zpar - Python bindings for ZPar, a statistical part-of-speech-tagger, constiuency parser, and dependency parser for English.
  • colibri-core - 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.
  • spaCy - Industrial strength NLP with Python and Cython.
  • PyStanfordDependencies - Python interface for converting Penn Treebank trees to Stanford Dependencies.
  • Distance - Levenshtein and Hamming distance computation
  • Fuzzy Wuzzy - Fuzzy String Matching in Python
  • jellyfish - a python library for doing approximate and phonetic matching of strings.
  • editdistance - fast implementation of edit distance
  • textacy - higher-level NLP built on Spacy

General-Purpose Machine Learning

  • machine learning - 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.
  • XGBoost - Python bindings for eXtreme Gradient Boosting (Tree) Library
  • Bayesian Methods for Hackers - Book/iPython notebooks on Probabilistic Programming in Python
  • Featureforge 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
  • scikit-learn - A Python module for machine learning built on top of SciPy.
  • metric-learn - A Python module for metric learning.
  • SimpleAI 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.
  • pattern - Web mining module for Python.
  • NuPIC - Numenta Platform for Intelligent Computing.
  • Pylearn2 - A Machine Learning library based on Theano.
  • keras - Modular neural network library based on Theano.
  • Lasagne - Lightweight library to build and train neural networks in Theano.
  • hebel - GPU-Accelerated Deep Learning Library in Python.
  • Chainer - Flexible neural network framework
  • gensim - Topic Modelling for Humans.
  • topik - Topic modelling toolkit
  • PyBrain - Another Python Machine Learning Library.
  • Brainstorm - Fast, flexible and fun neural networks. This is the successor of PyBrain.
  • Crab - A flexible, fast recommender engine.
  • python-recsys - A Python library for implementing a Recommender System.
  • thinking bayes - Book on Bayesian Analysis
  • Restricted Boltzmann Machines -Restricted Boltzmann Machines in Python. [DEEP LEARNING]
  • Bolt - Bolt Online Learning Toolbox
  • CoverTree - Python implementation of cover trees, near-drop-in replacement for scipy.spatial.kdtree
  • nilearn - Machine learning for NeuroImaging in Python
  • imbalanced-learn - Python module to perform under sampling and over sampling with various techniques.
  • Shogun - The Shogun Machine Learning Toolbox
  • Pyevolve - Genetic algorithm framework.
  • Caffe - A deep learning framework developed with cleanliness, readability, and speed in mind.
  • breze - Theano based library for deep and recurrent neural networks
  • pyhsmm - 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.
  • SKLL - A wrapper around scikit-learn that makes it simpler to conduct experiments.
  • neurolab - https://github.com/zueve/neurolab
  • Spearmint - 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.
  • Pebl - Python Environment for Bayesian Learning
  • Theano - Optimizing GPU-meta-programming code generating array oriented optimizing math compiler in Python
  • TensorFlow - Open source software library for numerical computation using data flow graphs
  • yahmm - Hidden Markov Models for Python, implemented in Cython for speed and efficiency.
  • python-timbl - 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.
  • pydeep - Deep Learning In Python
  • mlxtend - A library consisting of useful tools for data science and machine learning tasks.
  • neon - Nervana's high-performance 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 Learning - Code samples for my book "Neural Networks and Deep Learning" [DEEP LEARNING]
  • Annoy - Approximate nearest neighbours implementation
  • skflow - Simplified interface for TensorFlow, mimicking Scikit Learn.
  • TPOT - 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.
  • pgmpy A python library for working with Probabilistic Graphical Models.
  • DIGITS - 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.
  • MXNet - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.
  • milk - Machine learning toolkit focused on supervised classification.
  • TFLearn - Deep learning library featuring a higher-level API for TensorFlow.
  • REP - 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.

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 Mining - Business Intelligence (BI) in Python (Pandas web interface)
  • PyMC - Markov Chain Monte Carlo sampling toolkit.
  • zipline - 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.
  • SymPy - A Python library for symbolic mathematics.
  • statsmodels - Statistical modeling and econometrics in Python.
  • astropy - A community Python library for Astronomy.
  • matplotlib - A Python 2D plotting library.
  • bokeh - Interactive Web Plotting for Python.
  • plotly - Collaborative web plotting for Python and matplotlib.
  • vincent - A Python to Vega translator.
  • d3py - A plotting library for Python, based on D3.js.
  • ggplot - Same API as ggplot2 for R.
  • ggfortify - Unified interface to ggplot2 popular R packages.
  • Kartograph.py - Rendering beautiful SVG maps in Python.
  • pygal - A Python SVG Charts Creator.
  • PyQtGraph - A pure-python graphics and GUI library built on PyQt4 / PySide and NumPy.
  • pycascading
  • Petrel - Tools for writing, submitting, debugging, and monitoring Storm topologies in pure Python.
  • Blaze - NumPy and Pandas interface to Big Data.
  • emcee - The Python ensemble sampling toolkit for affine-invariant MCMC.
  • windML - A Python Framework for Wind Energy Analysis and Prediction
  • vispy - GPU-based high-performance interactive OpenGL 2D/3D data visualization library
  • cerebro2 A web-based visualization and debugging platform for NuPIC.
  • NuPIC Studio An all-in-one NuPIC Hierarchical Temporal Memory visualization and debugging super-tool!
  • SparklingPandas Pandas on PySpark (POPS)
  • Seaborn - A python visualization library based on matplotlib
  • bqplot - An API for plotting in Jupyter (IPython)
  • pastalog - Simple, realtime visualization of neural network training performance.
  • caravel - 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.
  • SOMPY - Self Organizing Map written in Python (Uses neural networks for data analysis).
  • HDBScan - implementation of the hdbscan algorithm in Python - used for clustering

Misc Scripts / iPython Notebooks / Codebases

Neural networks

  • Neural networks - NeuralTalk is a Python+numpy project for learning Multimodal Recurrent Neural Networks that describe images with sentences.

Kaggle Competition Source Code

Ruby

Natural Language Processing

  • Treat - 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.
  • Stemmer - Expose libstemmer_c to Ruby
  • Ruby Wordnet - This library is a Ruby interface to WordNet
  • Raspel - raspell is an interface binding for ruby
  • UEA Stemmer - Ruby port of UEALite Stemmer - a conservative stemmer for search and indexing
  • Twitter-text-rb - A library that does auto linking and extraction of usernames, lists and hashtags in tweets

General-Purpose Machine Learning

Data Analysis / Data Visualization

  • rsruby - Ruby - R bridge
  • data-visualization-ruby - 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-rb - A plotting library in Ruby built on top of Vega and D3.
  • scruffy - A beautiful graphing toolkit for Ruby
  • SciRuby
  • Glean - A data management tool for humans
  • Bioruby
  • Arel

Misc

Rust

General-Purpose Machine Learning

  • deeplearn-rs - deeplearn-rs provides simple networks that use matrix multiplication, addition, and ReLU under the MIT license.
  • rustlearn - a machine learning framework featuring logistic regression, support vector machines, decision trees and random forests.
  • rusty-machine - a pure-rust machine learning library.
  • leaf - open source framework for machine intelligence, sharing concepts from TensorFlow and Caffe. Available under the MIT license. [Deprecated]
  • RustNN - 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
  • 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.
  • Clever Algorithms For Machine Learning
  • 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 Hackers
  • 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
  • SuperLearner 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.R - 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
  • MXNet - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.

Data Analysis / Data Visualization

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

SAS

General-Purpose Machine Learning

  • 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_Tables - Concise cheat sheets containing machine learning best practices.
  • enlighten-apply - Example code and materials that illustrate applications of SAS machine learning techniques.
  • enlighten-integration - Example code and materials that illustrate techniques for integrating SAS with other analytics technologies in Java, PMML, Python and R.
  • enlighten-deep - Example code and materials that illustrate using neural networks with several hidden layers in SAS.
  • dm-flow - 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.
  • Breeze - Breeze is a numerical processing library for Scala.
  • Chalk - Chalk is a natural language processing library.
  • FACTORIE - 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.

Data Analysis / Data Visualization

  • MLlib in Apache Spark - Distributed machine learning library in Spark
  • Scalding - A Scala API for Cascading
  • Summing Bird - Streaming MapReduce with Scalding and Storm
  • Algebird - Abstract Algebra for Scala
  • xerial - Data management utilities for Scala
  • simmer - Reduce your data. A unix filter for algebird-powered aggregation.
  • PredictionIO - PredictionIO, a machine learning server for software developers and data engineers.
  • BIDMat - CPU and GPU-accelerated matrix library intended to support large-scale exploratory data analysis.
  • Wolfe Declarative Machine Learning
  • 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

  • Conjecture - Scalable Machine Learning in Scalding
  • brushfire - Distributed decision tree ensemble learning in Scala
  • ganitha - scalding powered machine learning
  • adam - A genomics processing engine and specialized file format built using Apache Avro, Apache Spark and Parquet. Apache 2 licensed.
  • bioscala - Bioinformatics for the Scala programming language
  • BIDMach - CPU and GPU-accelerated Machine Learning Library.
  • Figaro - a Scala library for constructing probabilistic models.
  • H2O Sparkling Water - H2O and Spark interoperability.
  • FlinkML in Apache Flink - Distributed machine learning library in Flink
  • DynaML - Scala Library/REPL for Machine Learning Research
  • Saul - Flexible Declarative Learning-Based Programming.
  • SwiftLearner - Simply written algorithms to help study ML or write your own implementations.

Swift

General-Purpose Machine Learning

  • Swift AI - Highly optimized artificial intelligence and machine learning library written in Swift.
  • BrainCore - The iOS and OS X neural network framework
  • swix - 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.
  • AIToolbox - 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.
  • MLKit - A simple Machine Learning Framework written in Swift. Currently features Simple Linear Regression, Polynomial Regression, and Ridge Regression.

TensorFlow

General-Purpose Machine Learning


from https://github.com/josephmisiti/awesome-machine-learning
------------------

我们要做什么?

C++

计算机视觉

  • CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库
  • OpenCV—它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系统。

通用机器学习

Closure

通用机器学习

Go

自然语言处理

  • go-porterstemmer—一个Porter词干提取算法的原生Go语言净室实现
  • paicehusk—Paice/Husk词干提取算法的Go语言实现
  • snowball—Go语言版的Snowball词干提取器

通用机器学习

  • Go Learn— Go语言机器学习库
  • go-pr —Go语言机器学习包.
  • bayesian—Go语言朴素贝叶斯分类库。
  • go-galib—Go语言遗传算法库。

数据分析/数据可视化

  • go-graph—Go语言图形库。
  • SVGo—Go语言的SVG生成库。

Java

自然语言处理

  • CoreNLP—斯坦福大学的CoreNLP提供一系列的自然语言处理工具,输入原始英语文本,可以给出单词的基本形式(下面Stanford开头的几个工具都包含其中)。
  • Stanford Parser—一个自然语言解析器。
  • Stanford POS Tagger —一个词性分类器。
  • Stanford Name Entity Recognizer—Java实现的名称识别器
  • Stanford Word Segmenter—分词器,很多NLP工作中都要用到的标准预处理步骤。
  • Tregex, Tsurgeon and Semgrex —用来在树状数据结构中进行模式匹配,基于树关系以及节点匹配的正则表达式(名字是“tree regular expressions"的缩写)。
  • Stanford Phrasal:最新的基于统计短语的机器翻译系统,java编写
  • Stanford Tokens Regex—用以定义文本模式的框架。
  • Stanford Temporal Tagger—SUTime是一个识别并标准化时间表达式的库。
  • Stanford SPIED—在种子集上使用模式,以迭代方式从无标签文本中学习字符实体
  • Stanford Topic Modeling Toolbox —为社会科学家及其他希望分析数据集的人员提供的主题建模工具。
  • Twitter Text Java—Java实现的推特文本处理库
  • MALLET -—基于Java的统计自然语言处理、文档分类、聚类、主题建模、信息提取以及其他机器学习文本应用包。
  • OpenNLP—处理自然语言文本的机器学习工具包。
  • LingPipe —使用计算机语言学处理文本的工具包。

通用机器学习

  • MLlib in Apache Spark—Spark中的分布式机器学习程序库
  • Mahout —分布式的机器学习库
  • Stanford Classifier —斯坦福大学的分类器
  • Weka—Weka是数据挖掘方面的机器学习算法集。
  • ORYX—提供一个简单的大规模实时机器学习/预测分析基础架构。

数据分析/数据可视化

  • Hadoop—大数据分析平台
  • Spark—快速通用的大规模数据处理引擎。
  • Impala —为Hadoop实现实时查询

Javascript

自然语言处理

  • Twitter-text-js —JavaScript实现的推特文本处理库
  • NLP.js —javascript及coffeescript编写的NLP工具
  • natural—Node下的通用NLP工具
  • Knwl.js—JS编写的自然语言处理器

数据分析/数据可视化

通用机器学习

  • Convnet.js—训练深度学习模型的JavaScript库。
  • Clustering.js—用JavaScript实现的聚类算法,供Node.js及浏览器使用。
  • Decision Trees—Node.js实现的决策树,使用ID3算法。
  • Node-fann —Node.js下的快速人工神经网络库。
  • Kmeans.js—k-means算法的简单Javascript实现,供Node.js及浏览器使用。
  • LDA.js —供Node.js用的LDA主题建模工具。
  • Learning.js—逻辑回归/c4.5决策树的JavaScript实现
  • Machine Learning—Node.js的机器学习库。
  • Node-SVM—Node.js的支持向量机
  • Brain —JavaScript实现的神经网络
  • Bayesian-Bandit —贝叶斯强盗算法的实现,供Node.js及浏览器使用。

Julia

通用机器学习

  • PGM—Julia实现的概率图模型框架。
  • DA—Julia实现的正则化判别分析包。
  • Regression—回归分析算法包(如线性回归和逻辑回归)。
  • Local Regression —局部回归,非常平滑!
  • Naive Bayes —朴素贝叶斯的简单Julia实现
  • Mixed Models —(统计)混合效应模型的Julia包
  • Simple MCMC —Julia实现的基本mcmc采样器
  • Distance—Julia实现的距离评估模块
  • Decision Tree —决策树分类器及回归分析器
  • Neural —Julia实现的神经网络
  • MCMC —Julia下的MCMC工具
  • GLM —Julia写的广义线性模型包
  • Online Learning
  • GLMNet —GMLNet的Julia包装版,适合套索/弹性网模型。
  • Clustering—数据聚类的基本函数:k-means, dp-means等。
  • SVM—Julia下的支持向量机。
  • Kernal Density—Julia下的核密度估计器
  • Dimensionality Reduction—降维算法
  • NMF —Julia下的非负矩阵分解包
  • ANN—Julia实现的神经网络

自然语言处理

数据分析/数据可视化

杂项/演示文稿

Lua

通用机器学习

  • Torch7
    • cephes —Cephes数学函数库,包装成Torch可用形式。提供并包装了超过180个特殊的数学函数,由Stephen L. Moshier开发,是SciPy的核心,应用于很多场合。
    • graph —供Torch使用的图形包。
    • randomkit—从Numpy提取的随机数生成包,包装成Torch可用形式。
    • signal —Torch-7可用的信号处理工具包,可进行FFT, DCT, Hilbert, cepstrums, stft等变换。
    • nn —Torch可用的神经网络包。
    • nngraph —为nn库提供图形计算能力。
    • nnx—一个不稳定实验性的包,扩展Torch内置的nn库。
    • optim—Torch可用的优化算法库,包括 SGD, Adagrad, 共轭梯度算法, LBFGS, RProp等算法。
    • unsup—Torch下的非监督学习包。提供的模块与nn(LinearPsd, ConvPsd, AutoEncoder, ...)及独立算法 (k-means, PCA)等兼容。
    • manifold—操作流形的包。
    • svm—Torch的支持向量机库。
    • lbfgs—将liblbfgs包装为FFI接口。
    • vowpalwabbit —老版的vowpalwabbit对torch的接口。
    • OpenGM—OpenGM是C++编写的图形建模及推断库,该binding可以用Lua以简单的方式描述图形,然后用OpenGM优化。
    • sphagetti —MichaelMathieu为torch7编写的稀疏线性模块。
    • LuaSHKit —将局部敏感哈希库SHKit包装成lua可用形式。
    • kernel smoothing —KNN、核权平均以及局部线性回归平滑器
    • cutorch—torch的CUDA后端实现
    • cunn —torch的CUDA神经网络实现。
    • imgraph—torch的图像/图形库,提供从图像创建图形、分割、建立树、又转化回图像的例程
    • videograph—torch的视频/图形库,提供从视频创建图形、分割、建立树、又转化回视频的例程
    • saliency —积分图像的代码和工具,用来从快速积分直方图中寻找兴趣点。
    • stitch —使用hugin拼合图像并将其生成视频序列。
    • sfm—运动场景束调整/结构包
    • fex —torch的特征提取包,提供SIFT和dSIFT模块。
    • OverFeat—当前最高水准的通用密度特征提取器。
  • Numeric Lua
  • Lunatic Python
  • SciLua
  • Lua - Numerical Algorithms
  • Lunum

演示及脚本

  • Core torch7 demos repository.核心torch7演示程序库
    • 线性回归、逻辑回归
    • 人脸检测(训练和检测是独立的演示)
    • 基于mst的断词器
    • train-a-digit-classifier
    • train-autoencoder
    • optical flow demo
    • train-on-housenumbers
    • train-on-cifar
    • tracking with deep nets
    • kinect demo
    • 滤波可视化
    • saliency-networks
  • Training a Convnet for the Galaxy-Zoo Kaggle challenge(CUDA demo)
  • Music Tagging—torch7下的音乐标签脚本
  • torch-datasets 读取几个流行的数据集的脚本,包括:
    • BSR 500
    • CIFAR-10
    • COIL
    • Street View House Numbers
    • MNIST
    • NORB
  • Atari2600 —在Arcade Learning Environment模拟器中用静态帧生成数据集的脚本。

Matlab

计算机视觉

  • Contourlets —实现轮廓波变换及其使用函数的MATLAB源代码
  • Shearlets—剪切波变换的MATLAB源码
  • Curvelets—Curvelet变换的MATLAB源码(Curvelet变换是对小波变换向更高维的推广,用来在不同尺度角度表示图像。)
  • Bandlets—Bandlets变换的MATLAB源码

自然语言处理

  • NLP —一个Matlab的NLP库

通用机器学习

数据分析/数据可视化

  • matlab_gbl—处理图像的Matlab包
  • gamic—图像算法纯Matlab高效实现,对MatlabBGL的mex函数是个补充。

.NET

计算机视觉

  • OpenCVDotNet —包装器,使.NET程序能使用OpenCV代码
  • Emgu CV—跨平台的包装器,能在Windows, Linus, Mac OS X, iOS, 和Android上编译。

自然语言处理

  • Stanford.NLP for .NET —斯坦福大学NLP包在.NET上的完全移植,还可作为NuGet包进行预编译。

通用机器学习

  • Accord.MachineLearning —支持向量机、决策树、朴素贝叶斯模型、K-means、高斯混合模型和机器学习应用的通用算法,例如:随机抽样一致性算法、交叉验证、网格搜索。这个包是Accord.NET框架的一部分。
  • Vulpes—F#语言实现的Deep belief和深度学习包,它在Alea.cuBase下利用CUDA GPU来执行。
  • Encog —先进的神经网络和机器学习框架,包括用来创建多种网络的类,也支持神经网络需要的数据规则化及处理的类。它的训练采用多线程弹性传播。它也能使用GPU加快处理时间。提供了图形化界面来帮助建模和训练神经网络。
  • Neural Network Designer —这是一个数据库管理系统和神经网络设计器。设计器用WPF开发,也是一个UI,你可以设计你的神经网络、查询网络、创建并配置聊天机器人,它能问问题,并从你的反馈中学习。这些机器人甚至可以从网络搜集信息用来输出,或是用来学习。

数据分析/数据可视化

  • numl —numl这个机器学习库,目标就是简化预测和聚类的标准建模技术。
  • Math.NET Numerics—Math.NET项目的数值计算基础,着眼提供科学、工程以及日常数值计算的方法和算法。支持 Windows, Linux 和 Mac上的 .Net 4.0, .Net 3.5 和 Mono ,Silverlight 5, WindowsPhone/SL 8, WindowsPhone 8.1 以及装有 PCL Portable Profiles 47 及 344的Windows 8, 装有 Xamarin的Android/iOS 。
  • Sho —Sho是数据分析和科学计算的交互式环境,可以让你将脚本(IronPython语言)和编译的代码(.NET)无缝连接,以快速灵活的建立原型。这个环境包括强大高效的库,如线性代数、数据可视化,可供任何.NET语言使用,还为快速开发提供了功能丰富的交互式shell。

Python

计算机视觉

  • SimpleCV—开源的计算机视觉框架,可以访问如OpenCV等高性能计算机视觉库。使用Python编写,可以在Mac、Windows以及Ubuntu上运行。

自然语言处理

  • NLTK —一个领先的平台,用来编写处理人类语言数据的Python程序
  • Pattern—Python可用的web挖掘模块,包括自然语言处理、机器学习等工具。
  • TextBlob—为普通自然语言处理任务提供一致的API,以NLTK和Pattern为基础,并和两者都能很好兼容。
  • jieba—中文断词工具。
  • SnowNLP —中文文本处理库。
  • loso—另一个中文断词库。
  • genius —基于条件随机域的中文断词库。
  • nut —自然语言理解工具包。

通用机器学习

  • Bayesian Methods for Hackers —Python语言概率规划的电子书
  • MLlib in Apache Spark—Spark下的分布式机器学习库。
  • scikit-learn—基于SciPy的机器学习模块
  • graphlab-create —包含多种机器学习模块的库(回归,聚类,推荐系统,图分析等),基于可以磁盘存储的DataFrame。
  • BigML—连接外部服务器的库。
  • pattern—Python的web挖掘模块
  • NuPIC—Numenta公司的智能计算平台。
  • Pylearn2—基于Theano的机器学习库。
  • hebel —Python编写的使用GPU加速的深度学习库。
  • gensim—主题建模工具。
  • PyBrain—另一个机器学习库。
  • Crab —可扩展的、快速推荐引擎。
  • python-recsys —Python实现的推荐系统。
  • thinking bayes—关于贝叶斯分析的书籍
  • Restricted Boltzmann Machines —Python实现的受限波尔兹曼机。[深度学习]。
  • Bolt —在线学习工具箱。
  • CoverTree —cover tree的Python实现,scipy.spatial.kdtree便捷的替代。
  • nilearn—Python实现的神经影像学机器学习库。
  • Shogun—机器学习工具箱。
  • Pyevolve —遗传算法框架。
  • Caffe —考虑了代码清洁、可读性及速度的深度学习框架
  • breze—深度及递归神经网络的程序库,基于Theano。

数据分析/数据可视化

  • SciPy —基于Python的数学、科学、工程开源软件生态系统。
  • NumPy—Python科学计算基础包。
  • Numba —Python的低级虚拟机JIT编译器,Cython and NumPy的开发者编写,供科学计算使用
  • NetworkX —为复杂网络使用的高效软件。
  • Pandas—这个库提供了高性能、易用的数据结构及数据分析工具。
  • Open Mining—Python中的商业智能工具(Pandas web接口)。
  • PyMC —MCMC采样工具包。
  • zipline—Python的算法交易库。
  • PyDy—全名Python Dynamics,协助基于NumPy, SciPy, IPython以及 matplotlib的动态建模工作流。
  • SymPy —符号数学Python库。
  • statsmodels—Python的统计建模及计量经济学库。
  • astropy —Python天文学程序库,社区协作编写
  • matplotlib —Python的2D绘图库。
  • bokeh—Python的交互式Web绘图库。
  • plotly —Python and matplotlib的协作web绘图库。
  • vincent—将Python数据结构转换为Vega可视化语法。
  • d3py—Python的绘图库,基于D3.js。
  • ggplot —和R语言里的ggplot2提供同样的API。
  • Kartograph.py—Python中渲染SVG图的库,效果漂亮。
  • pygal—Python下的SVG图表生成器。
  • pycascading

杂项脚本/iPython笔记/代码库

Kaggle竞赛源代码

Ruby

自然语言处理

  • Treat—文本检索与注释工具包,Ruby上我见过的最全面的工具包。
  • Ruby Linguistics—这个框架可以用任何语言为Ruby对象构建语言学工具。包括一个语言无关的通用前端,一个将语言代码映射到语言名的模块,和一个含有很有英文语言工具的模块。
  • Stemmer—使得Ruby可用 libstemmer_c中的接口。
  • Ruby Wordnet —WordNet的Ruby接口库。
  • Raspel —aspell绑定到Ruby的接口
  • UEA Stemmer—UEALite Stemmer的Ruby移植版,供搜索和检索用的保守的词干分析器
  • Twitter-text-rb—该程序库可以将推特中的用户名、列表和话题标签自动连接并提取出来。

通用机器学习

数据分析/数据可视化

Misc 杂项

R

通用机器学习

数据分析/数据可视化

Scala

自然语言处理

  • ScalaNLP—机器学习和数值计算库的套装
  • Breeze —Scala用的数值处理库
  • Chalk—自然语言处理库。
  • FACTORIE—可部署的概率建模工具包,用Scala实现的软件库。为用户提供简洁的语言来创建关系因素图,评估参数并进行推断。

数据分析/数据可视化

  • MLlib in Apache Spark—Spark下的分布式机器学习库
  • Scalding —CAscading的Scala接口
  • Summing Bird—用Scalding 和 Storm进行Streaming MapReduce
  • Algebird —Scala的抽象代数工具
  • xerial —Scala的数据管理工具
  • simmer —化简你的数据,进行代数聚合的unix过滤器
  • PredictionIO —供软件开发者和数据工程师用的机器学习服务器。
  • BIDMat—支持大规模探索性数据分析的CPU和GPU加速矩阵库。

通用机器学习

  • Conjecture—Scalding下可扩展的机器学习框架
  • brushfire—scalding下的决策树工具。
  • ganitha —基于scalding的机器学习程序库
  • adam—使用Apache Avro, Apache Spark 和 Parquet的基因组处理引擎,有专用的文件格式,Apache 2软件许可。
  • bioscala —Scala语言可用的生物信息学程序库
  • BIDMach—机器学习CPU和GPU加速库。
from https://github.com/jobbole/awesome-machine-learning-cn