机器学习框架、库

C

General-Purpose Machine Learning

  • Recommender - A C library for product recommendations/suggestions using collaborative filtering (CF).

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

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.

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

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 - he 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

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

  • 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

Data Analysis / Data Visualization

  • go-graph - Graph library for Go/golang language.
  • SVGo - The Go Language library for SVG generation

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.

General-Purpose Machine Learning

  • 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.
  • H2O - ML engine that supports distributed learning on data stored in HDFS.
  • htm.java - General Machine Learning library using Numenta’s Cortical Learning Algorithm
  • java-deeplearning - Distributed Deep Learning Platform for Java, Clojure,Scala
  • JAVA-ML - A general ML library with a common interface for all algorithms in Java
  • JSAT - Numerous Machine Learning algorithms for classification, regression, and clustering.
  • 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.
  • RankLib - RankLib is a library of learning to rank algorithms
  • 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.
  • WalnutiQ - object oriented model of the human brain
  • Weka - Weka is a collection of machine learning algorithms for data mining tasks

Speech Recognition

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

Data Analysis / Data Visualization

  • Hadoop - Hadoop/HDFS
  • Spark - Spark is a fast and general engine for large-scale data processing.
  • Impala - Real-time Query for Hadoop

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

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

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

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

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

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

Python

Computer Vision

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

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.
  • loso - Another Chinese segmentation library.
  • genius - A Chinese segment base on Conditional Random Field.
  • 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)
  • 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.

General-Purpose Machine Learning

  • 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.
  • 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.
  • hebel - GPU-Accelerated Deep Learning Library in Python.
  • gensim - Topic Modelling for Humans.
  • PyBrain - Another Python Machine Learning Library.
  • Crab - A ?exible, 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
  • 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://code.google.com/p/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
  • 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]

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.
  • 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 plottling library for Python, based on D3.js.
  • ggplot - Same API as ggplot2 for R.
  • 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)

Misc Scripts / iPython Notebooks / Codebases

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

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

Data Analysis / Data Visualization

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

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

General-Purpose Machine Learning

  • Conjecture - Scalable Machine Learning in Scalding
  • brushfire - decision trees and random forests for scalding
  • 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 - H2O and Spark interoperability.

Swift

General-Purpose Machine Learning

  • swix - A bare bones library that includes a general matrix language and wraps some OpenCV for iOS development.

Credits

来自为知笔记(Wiz)

时间: 2025-01-02 04:08:07

机器学习框架、库的相关文章

最牛逼的开源机器学习框架,你知道几个

最牛逼的开源机器学习框架,你知道几个 机器学习毫无疑问是当今最热的话题,它已经渗透到生活的方方面面,在移动互联网中混不懂点机器学习都不好意思,说几个能看的到的,经常用邮箱吧,是不是感觉垃圾邮件比N年前变少了,无聊了和siri聊过天不,想坐一下无人驾驶汽车吗,手累了用脸解个锁,智能化产品推荐是不是让你更懒了.看不到的就更多了:信用卡欺诈监测保证你的交易安全,股票交易/量化投资(知道你的高收益理财怎么来的吗?),手势识别(用过海豚浏览器的手势吗),还有医学分析等等,巨头们为了在未来占领先机,前仆后继

八大机器学习框架对比及Tensorflow的优势

八大机器学习框架的对比: (1)  TensorFlow:深度学习最流行的库之一,是谷歌在深刻总结了其 前身 DistBelief 的经验教训上形成的:它不仅便携.高效.可扩 展,还能再不同计算机上运行:小到智能手机,大到计算机集群都 能:它是一款轻量级的软件,可以立刻生成你的训练模型,也能 重新实现它:TensorFlow 拥抱创新,有强大的社区.企业支持, 因此它广泛用于从个人到企业.从初创公司到大公司等不同群体. (2) Caffe: 卷积神经网络框架,专注于卷积神经网络和图像处理,是用

几种机器学习框架的对比和选择

几种机器学习平台的对比和选择 前言 选择什么样的深度学习框架一直是开发者非常关心的一个话题,而且深度学习框架之间的「战争」也越来越激烈.随着近几年AI的火热,越来越多的出现有关各个机器学习框架的对比文章,且随着 Python 逐渐成为机器学习社区最受欢迎的语言,支持 Python的深度学习框架的性能也在持续的被关注. 由于自己想了解下机器学习,随机查阅了诸多文献给予此,将横向的对比以下深度学习框架和工具的特点: Theano Lasagne Blocks TensorFlow Keras MXN

Android 必须知道2018年流行的框架库及开发语言,看这一篇就够了!

导语 2017 已经悄悄的走了,2018 也已经匆匆的来了,我们在总结过去的同时,也要展望一下未来,来规划一下今年要学哪些新技术.这几年优秀Android的开源库不断推出,新技术层出不穷,需要我们不断去了解和掌握,在提高自身开发水平的同时,我们需要付出更多学习精力和时间.俗话说,打铁还需自身硬,为了在这个日新月异的技术时代为了生存不被淘汰,必须要求自身掌握的技术不断跟进时代脚步,所以我们必须付出才能得到回报,说没有时间去学习的人永远都会有找不完的借口.好了,闲话不多说了,下面一起来看看流行的技术

推荐5个国内外评价超高的机器学习Python 库,实用!

前言 机器学习令人无比神往,但从事这个工作的人可能并不这么想. 机器学习的工作内容往往复杂枯燥又困难--通过大量重复工作进行提升必不可少: 汇总工作流及传输渠道.设置数据源以及在内部部署和云部署的资源之间来回分流. 所以使用工具提升你的工作效率实在很关键,而且像这样的工具越多越好. 好在你学的是Python,作为一门威力巨大的工具语言,Python可以给你提供足够的辅助工具,让你在大数据和机器学习项目中游刃有余. 唯一的问题在于Python海量的资源库让患有选择困难症的你难以取舍,因此糖豆贴心的

JS_JavaScript 框架(库)

JavaScript 框架(库) JavaScript 高级程序设计(特别是对浏览器差异的复杂处理),通常很困难也很耗时. 为了应对这些调整,许多的 JavaScript (helper) 库应运而生. 这些 JavaScript 库常被称为 JavaScript 框架. 在本教程中,我们将了解到一些广受欢迎的 JavaScript 框架: jQuery Prototype MooTools 所有这些框架都提供针对常见 JavaScript 任务的函数,包括动画.DOM 操作以及 Ajax 处理

acl 网络通信与服务器框架库示例列表

跨平台网络通信及服务器框架库 --- "acl" 项目里有大量的测试及应用示例,主要有三个示例集合,如下: 1.acl/samples:该目录下的例子主要是基于 lib_acl 及 lib_protocol 两个库的例子-    1.1 acl: 打印当前 acl 库版本号程序-    1.2 aio/client: 非阻塞 io 客户端-    1.3 aio/server: 非阻塞 io 服务器-    1.4 base64: base64 编/解码程序-    1.5 btree

基于Docker的TensorFlow机器学习框架搭建和实例源码解读

概述:基于Docker的TensorFlow机器学习框架搭建和实例源码解读,TensorFlow作为最火热的机器学习框架之一,Docker是的容器,可以很好的结合起来,为机器学习或者科研人员提供便捷的机器学习开发环境,探索人工智能的奥秘,容器随开随用方便快捷.源码解析TensorFlow容器创建和示例程序运行,为热爱机器学者降低学习难度. 默认机器已经装好了Docker(Docker安装和使用可以看我另一篇博文:Ubuntu16.04安装Docker1.12+开发实例+hello world+w

跨平台网络通信与服务器编程框架库(acl库)介绍

一.描述 acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库.通过该库,用户可以非常容易地编写支持多种模式(多线程.多进程.非阻塞.触发器.UDP方式)的服务器程序,WEB 应用程序,数据库应用程序.此外,该库还提供了常见应用的客户端通信库(如:HTTP.SMTP.ICMP.memcache.beanstalk),常见流式编解码库:XML/JSON/MIME/BASE64/UUCODE/QPCO

IOS一些高效的第三方框架库

MBProgressHUD ——进展指示符库 苹果的应用程序一般都会用一种优雅的,半透明的进度显示效果,不过这个API是不公开的,因此你要是用了,很可能被清除出AppStore.而 MBProgressHUD提供了一个替代方案,而且在用户角度上,实现的效果根本看不出和官方程序有什么差别.同时还提供了其他附加功能,比如虚拟进展 指示符,以及完成提示信息.整合到项目里也很容易,这里不细谈了. ASIHttpRequest ——HTTP Network库 iPhone当然也有自己的HTTP Netwo