为了让开发者更加广泛、深入地理解机器学习,云栖社区组织翻译了GitHub Awesome Machine Learning 资源,涵盖24种编程措辞的机器学习的框架、库以及其他干系资料。
目录
C

通用机器学习
打算机视觉
C++
打算机视觉
通用机器学习
自然措辞处理
序列剖析
手势识别
Common Lisp
通用机器学习
Clojure
自然措辞处理
通用机器学习
数据剖析 /数据可视化
Erlang
通用机器学习
Go
自然措辞处理
通用机器学习
数据剖析 /数据可视化
Haskell
通用机器学习
Java
自然措辞处理
通用机器学习
数据剖析 /数据可视化
深度学习
Javascript
自然措辞处理
数据剖析 /数据可视化
通用机器学习
其他
Julia
通用机器学习
自然措辞处理
数据剖析/数据可视化
其他项 /展示
Lua
通用机器学习
示例和脚本
Matlab
打算机视觉
自然措辞处理
通用机器学
数据剖析 / 数据可视化
.NET
打算机视觉
自然措辞处理
通用机器学习
数据剖析 /数据可视化
Objective C
通用机器学习
OCaml
通用机器学习
PHP
自然措辞处理
通用机器学习
Python
打算机视觉
自然措辞处理
通用机器学习
数据剖析 /数据可视化
杂项脚本/ iPython条记 /源码库
Kaggle竞赛源码
Ruby
自然措辞处理
通用机器学习
数据剖析 /数据处理
杂项
Rust
通用机器学习
R
通用机器学习
数据剖析 /数据可视化
SAS
通用机器学习
数据剖析 /数据可视化
高性能机器学习(MPP)
自然措辞处理
示例和脚本
Scala
自然措辞处理
数据剖析 /数据可视化
通用机器学习
Swift
通用机器学习
Credits
C
通用机器学习
Recommender- 一个C措辞库,利用协同过滤(CF)进行产品推举/建议;
Darknet -是一个用C和CUDA编写的开源神经网络框架,它速率快,易于安装,并支持CPU和GPU打算。
打算机视觉
CCV -基于C措辞、高速缓存的核打算机视觉库,是一个当代化的打算机视觉库;
VLFeat -开放、可便携的打算机视觉算法库,内有matlab工具箱。
语音识别
HTK-隐马尔可夫模型工具包(HTK)是一个便携式工具包,用于构建和操作隐马尔可夫模型。
C++
打算机视觉
OpenCV-OpenCV自带C ++、C、Python、Java和MATLAB接口,并支持Windows、Linux、Android版和Mac OS等系统;
DLib-DLib有C ++和Python接口,用于人脸检测和演习通用的目标探测器;
EBLearn-Eblearn是一种面向工具的C++库,能够实现各种机器学习模型;
VIGRA-VIGRA是通用跨平台的C++打算机视觉和机器学习库,能够用Python绑定任意维度的体积。
通用机器学习
mlpack-可扩展的C++机器学习库;
DLib-ML工具套件,能够很随意马虎嵌入到其他运用程序中;
encog-cpp
shark
Vowpal Wabbit (VW)-一个快速的核外(out-of-core)学习系统;
sofia-ml-快速增量算法套件;
Shogun-Shogun机器学习工具箱;
Caffe-基于清洁度、可读性和速率考虑而开拓的深度学习框架。[深度学习]
CXXNET-另一个深度学习框架,其核心代码少于1000行;[深度学习]
XGBoost-一种并行、优化、通用的梯度推进库;
CUDA-利用C++ / CUDA快速实现卷积;[深度学习]
Stan-一种概任性的编程措辞,能够实现Hamiltonian Monte Carlo抽样的全贝叶斯统计推断;
BanditLib-一个大略、有多重保护的Bandit库;
Timbl:一个软件包/ C ++库,能够实现多种基于内存的学习算法,个中有IB1-IG--k-最近邻分类的实现、IGTree--IB1-IG的决策树近似值;常用于NLP;
Disrtibuted Machine learning Tool Kit (DMTK) -微软开拓的分布式机器学习(参数做事器)框架,能够在多台机器的大型数据集上实现演习模型,与它捆绑的现有工具包括:LightLDA和分布式(多传感)字嵌入;
igraph-通用图形库;
Warp-CTC-在CPU和GPU上快速并行地实现连接时域分类(Connectionist Temporal Classification,CTC);
CNTK-微软研究院开拓的打算网络工具包(CNTK),它作为一系列打算步骤,通过有向图来描述神经网络,是统一的深度学习工具包;
DeepDetect-一个机器学习API,做事器用C++11编写,它使机器学习的状态易于事情,并随意马虎集成到现有运用程序;
Fido-一个高度模块化的C++机器学习库,用于嵌入式电子产品和机器人中。
自然措辞处理
MIT Information Extraction Toolkit-C,C ++和Python的工具,用于命名实体识别与关系抽取;
CRF++-条件随机域(Conditional Random Fields,CRFs)的开源实现,用于分割/标记序列数据及其他自然措辞处理任务;
CRFsuite-条件随机域(CRFs)的实现,用于标记序列数据;
BLLIP Parser-BLLIP自然措辞解析器(也称为Charniak-Johnson解析器);
colibri-core-是C++库、命令行工具,和Python绑定用于提取与利用基本的措辞构造,例如用快速和高效存储的办法实现n-grams和skipgrams模型;
ucto-是一种工具和C++库,基于支持各种措辞的编译器,内含统一字符标准及规则表达式;支持FoLiA格式;
libfolia-支持FoLiA格式的C++库;
frog-为Dutch开拓的基于内存的NLP套件:POS标签、归类剖析、依存句法剖析、NER、浅层句法剖析、形态剖析;
MeTA-MeTA : ModErn 语篇剖析(ModErn Text Analysis),是一个C++数据科学工具包,便于挖掘大文本数据。
语音识别
Kaldi-Kaldi是用于语音识别的工具包,用C++编写,由Apache容许证V2.0协议授权,专门给语音识别的研究职员利用。
序列剖析
ToPS-这是一种面向工具的框架,便于在用户定义的字母序列中整合概率模型。
手势检测
grt-手势识别工具包(GRT)是一个跨平台、开源的C++机器学习库,用于实时的手势识别。
Common Lisp
通用机器学习
mgl-神经网络(玻耳兹曼机,前馈和循环网络)以及高斯过程;
mgl-gpr-蜕变算法;
cl-libsvm-LIBSVM支持向量机库的包装。
Clojure
自然措辞处理
Clojure-openNLP- Clojure中自然措辞处理的工具包(openNLP);
Infections-clj- Clojure和Clojure中类似于Rails的inflection库。
通用机器学习
Touchstone- Clojure A/B 测试库;
Clojush- Clojure中的Push程序措辞和PushGP遗传编程系统;
Infer- Clojure等分析和机器学习的工具;
Clj-ML- Clojure中基于Weka及其干系环境的深度学习库;
Encog- 在Clojure中封装成Encog (v3) (专门研究神经网络的机器学习框架);
Fungp- Clojure中的遗传编程实例库;
Statistiker- Clojure中根本机器学习算法;
clortex-采取Numenta’s Cortical 学习算法的通用机器学习库;
comportex- 采取Numenta’s Cortical 学习算法的功能组合的机器学习库。
数据剖析/数据可视化
Incanter- Incanter是基于 Clojure,类似R的统计打算与制图平台;
PigPen- Clojure中的Map-Reduce;
Envision- 基于Statistiker和D3Clojure 数据可视化库。
Erlang
通用机器学习
Disco- Erlang中的Map Reduce模型。
Go
自然措辞处理
go-porterstemmer- 一个用于实现Porter词干提取算法的原生Go措辞净室;
paicehusk- Go措辞中用于实现Paice/Husk词干提取算法;
snowball- Go措辞中的Snowball 词干提取器;
go-ngram-内存N-gram索引压缩。
通用机器学习
Go Learn- Go措辞中的机器学习库;
go-pr- Go措辞中的模式识别包;
go-ml- 线性/逻辑回归、神经网络、协同过滤和多元高斯分布;
bayesian- Go措辞中朴素贝叶斯分类库;
go-galib-Go措辞版的遗传算法库;
Cloudforest- GO措辞中的决策树凑集;
gobrain- GO措辞版的神经网络;
GoNN- GoNN 是用Go措辞实现的神经网络,它包括BPNN、RBF、PCN;
MXNet- 轻量级、便携式、灵巧的分布式/深度学习系统,可对动态的、突变数据流调度支配,同时也支持Python、R、Julia、Go、Javascript 等编程措辞。
数据剖析/数据可视化
go-graph- Go措辞图形库;
SVGo- Go措辞的SVG天生库;
RF- Go措辞的随机森林库;
Haskell
通用机器学习
haskell-ml- Haskell 措辞实现的各种深度学习算法;
HLearn- 根据代数构造阐明其深度模型的库;
hnn- Haskell措辞的神经网络库;
hopfield-networks- Haskell中用于无监督学习的Hopfield网络;
caffegraph- 一种用于深度神经网络的领域特定措辞(DSL);
LambdaNet- Haskell中的可配置的神经网络。
Java
自然措辞处理
Cortical.io- 像人脑一样快速、精确处理繁芜的NLP(自然措辞处理)操作(如消歧、分类、流文本过滤等操作)的Retina API;
CoreNLP- 斯坦福大学的CoreNLP供应的一系列的自然措辞处理工具,该工具可以根据输入原始英语文本,给出单词的基本形式;
Stanford Parser- 一种自然措辞剖析器,可以剖析语句的语法构造;
Stanford POS Tagger-一个词性分类器 (POS Tagger);
Stanford Name Entity Recognizer- Stanford NER是一个Java实现的名称识别器;
Stanford Word Segmenter- 分词器,很多NLP事情中都要用到的标准预处理步骤;
Tregex, Tsurgeon and Semgrex- Tregex基于树关系以及节点匹配的正则表达式,用于在树状数据构造中进行模式匹配(名字是“tree regular expressions”的缩写);
Stanford Phrasal: 一个基于短语的翻译系统
Stanford English Tokenizer- Stanford Phrasal 用Java写成的最新的基于统计短语的机器翻译系统;
Stanford Tokens Regex- 一个分解器,可以将文今年夜致分成一系列对应于“词”的符号;
Stanford Temporal Tagger-SUTime是一个用于识别并标准化韶光表达式的库;
Stanford SPIED-在种子集上利用模式,以迭代办法从无标签文本中进行学习实体;
Stanford Topic Modeling Toolbox- 为社会科学家及其他希望剖析数据集的职员供应的主题建模工具;
Twitter Text Java- Java实现的推特文本处理库;
MALLET-基于Java的统计自然措辞处理、文档分类、聚类、主题建模、信息提取以及其他机器学习的文本运用包;
OpenNLP- 基于机器学习的自然措辞文本处理工具包;
LingPipe- 一个利用打算机措辞学文本处理的工具包;
ClearTK- 在Java中ClearTK为开拓统计措辞处理组件供应了一个框架,该框架是基于Apache UIMA;
Apache cTAKES- Apache cTAKES是一个开源自然措辞处理系统,用于从临床电子病历的自由文本中提取信息;
ClearNLP- ClearNLP工程为自然措辞处理供应了软件和资源供应了。该项目最早在打算机愈合和教诲研究中央启动,目前由Emory 大学的措辞和信息研究中央连续开拓。该项目遵照Apache 2license。
通用机器学习
aerosolve- 是由Airbnb设计的定价建议系统的机器学习库;
Datumbox-应对机器学习和统计运用快速发展的机器学习框架;
ELKI- 用于数据挖掘的Java工具包(无监督:聚类、非常检测等等);
Encog- 一种前辈的神经网络和机器学习框架。 Encog包含用于创建各种网络的类,同时也支持为神经网络规范和处理数据的类。它的演习采取多线程弹性传播。它也能利用GPU加快处理韶光。供应了图形化界面来帮助建模和演习神经网络。
EvA2- 包含遗传算法、差分进化、协方差自适应进化策略等等的进化算法框架;
FlinkML in Apache Flink- Flink中的分布式机器学习库;
H2O- 深度学习引擎,支持在Hadoop、Spark 或者通过R、Python、Scala 、REST/JSONML 的APIs连到的条记本上进行分布式学习;
htm.java- 采取NumentaCortical 学习算法的通用机器学习库 ;
java-deeplearning- Java、Clojure、Scala的分布式深度学习平台;
JAVA-ML- 包含所有Java算法的通用接口的通用深度学习库;
JSAT- 用于分类、回归、聚类的机器学习算法凑集;
Mahout- 分布式的机器学习库;
Meka- MEKA供应了一个面向多标签学习和评价方法的开源实现(扩展成Weka);
MLlib in Apache Spark- Spark中的分布式机器学习程序库;
Neuroph- Neuroph 是轻量级的Java神经网络框架;
ORYX- 采取Apache Spark和Apache Kafka的Lambda 构造框架,专门用于实时大规模机器学习;
Samoa- SAMOA 是一个包含用于分布式机器学习数据流的框架,同时为数据流流入不同的流处理平台供应了接口;
RankLib- RankLib是一个排序学习算法库;
rapaio- Java中用于统计、数据挖掘和机器学习的工具箱;
RapidMiner- RapidMiner integration into Java code
Stanford Classifier- 斯坦福大学分类器是一种机器学习工具,它可以将数据项归置不同的种别中;
SmileMiner- 统计机器智能与学习引擎;
SystemML- 灵巧、可扩展的机器学习措辞;
WalnutiQ- 人脑部分面向工具模型;
Weka-Weka是数据挖掘方面的机器学习算法集。
语音识别
CMU Sphinx- CMU Sphinx是基于Java 语音识别库,用于纯语音识别开源工具包。
数据剖析/数据可视化
Flink- Apache Flink是一个面向分布式数据流处理和批量数据处理的开源打算平台;
Hadoop- 大数据剖析平台;
Spark- Spark是一个快速通用的大规模数据处理引擎;
Storm- Storm是一个分布式实时打算系统;
Impala- 为Hadoop实现实时查询
DataMelt- 用于数字打算、统计、符号打算、数据剖析和数据可视化的数学软件;
Dr. Michael Thomas Flanagan's Java Scientific Library
深度学习
Deeplearning4j- 采取并行GPU的商用可扩展深度学习库。
数 Javascript
自然措辞处理
Twitter-text- Twitter文本处理库中利用JavaScript的实现;
NLP.js – 利用JavaScript和CoffeeScript的NLP实用工具;
natural – 用于节点的通用自然措辞工具;
Knwl.js – JS中的自然措辞处理器;
Retext-用于剖析和处理自然措辞的可扩展系统;
TextProcessing-情绪剖析,词干和词形还原,部分词性标注和组块,短语提取和命名实体识别;
NLP Compromise- 浏览器中的自然措辞处理。
数据剖析/数据可视化
D3.js
High Charts
NVD3.js
dc.js
chartjs
dimple
amCharts
D3xter –直接建立在D3上的绘图;
statkit – JavaScript的统计工具;
datakit- JavaScript的轻量级数据剖析框架;
science.js- JavaScript中的科学统计打算;
Z3d – 在Three.js上轻松地绘制交互式3D图;
Sigma.js- JavaScript库,专门用于图形绘制;
C3.js– 基于D3.js的定制库,能够轻松绘制图表;
ZingChart- Vanilla JS编写的库,用于大数据可视化;
cheminfo – 数据可视化和剖析的平台,利用可视化项目。
通用机器学习
Convnet.js- ConvNetJS是一个JavaScript库,用于演习深度学习模型[深度学习];
Clusterfck- 为Node.js和浏览器,用Javascript实现的凝聚层次聚类;
Clustering.js – Javascript为Node.js和浏览器实现的聚类算法;
Decision Trees-利用ID3算法实现NodeJS决策树;
figue- K-均值、模糊C均值和凝聚聚类;
Node-fann-Node.js绑定的快速人工神经网络库(Fast Artificial Neural Network Library,FANN);
Kmeans.js- K-均值算法用JavaScript的大略实现,用于Node.js和浏览器;
LDA.js - Node.js的LDA主题建模;
Learning.js –用Javascript实现逻辑回归/ c4.5决策树;
Machine Learning -Node.js的机器学习库;
Node-SVM -Node.js的支持向量机;
Brain - JavaScript中的神经网络[已弃用];
Bayesian-Bandit -Node和浏览器的贝叶斯实现;
Synaptic – 用于Node.js和浏览器的无架构神经网络库;
kNear - JavaScript实现的k个最近邻算法,用于监督学习;
NeuralN - Node.js的C++神经网络库,其优点是有大量的数据集和多线程演习;
kalman - Javascript的卡尔曼滤波器;
shaman - Node.js库,同时支持大略和多元的线性回归;
ml.js –用于Node.js和浏览器的机器学习和数值剖析工具;
Pavlov.js -利用马尔可夫决策过程强化学习;
MXNet - 轻量级、便携式、灵巧的分布式/深度学习系统,可对动态的、突变数据流调度支配,同时也支持Python、R、Julia、Go、Javascript 等编程措辞。
其它
sylvester – 用于JavaScript的向量和矩阵数学;
simple-statistics - 描述,回归和推断统计的JavaScript实现;用笔墨实现的JavaScript,没有依赖性,能在所有当代浏览器(包括IE)以及在node.js中事情;
regression-js – JavaScript库,包含小二乘法拟合方法的凑集,用于探求数据集的趋势;
Lyric -线性回归库;
GreatCircle – 打算大圆距的库。
Julia
通用机器学习
MachineLearning -Julia机器学习库;
MLBase -一组支持机器学习算法的发展的函数;
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工具;
Mamba –Julia中马尔可夫链蒙特卡罗(MCMC)的贝叶斯剖析;
GLM –Julia的广义线性模型。
Online Learning
GLMNet – GMLNet的Julia包装版,适宜套索/弹性网模型;
Clustering -集群数据的基本功能:K-均值,DP-均值等;
SVM –Julia适用的SVM;
Kernal Density –Julia的核密度估计量;
Dimensionality Reduction -降维方法;
NMF - 非负矩阵分解的Julia包;
ANN -Julia人工神经网络;
Mocha – 受Caffe启示,Julia的深度学习框架;
XGBoost –Julia中的eXtreme Gradient Boosting 包;
ManifoldLearning – 用于流形学习和非线性降维的Julia组件;
MXNet - 轻量级、便携式、灵巧的分布式/深度学习系统,可对动态的、突变数据流调度支配,同时也支持Python、R、Julia、Go、Javascript 等编程措辞。
Merlin -Julia灵巧的深度学习框架。
自然措辞处理
Topic Models –Julia下的主题模型;
Text Analysis –Julia下的文本分析包。
数据剖析/数据可视化
Graph Layout – 纯Julia实现的图布局算法;
Data Frames Meta - DataFrames的元编程工具;
Julia Data - 处理表格数据的Julia库;
Data Read - 从Stata、SAS、SPSS读取文件;
Hypothesis Tests –Julia的假设考验;
Gadfly –Julia 灵巧的统计制图法;
Stats –Julia的统计图考验;
RDataSets - 用于装载许多R中可用数据集的Julia包;
DataFrames – 处理列表数据的Julia库;
Distributions - 概率分布和干系函数的Julia包;
Data Arrays - 许可缺失落值的数据构造;
Time Series –Julia的韶光序列工具包;
Sampling -Julia的基本采样算法。
其他项/展示
DSP -数字旗子暗记处理(滤波,周期图,频谱图,窗函数);
JuliaCon Presentations – JuliaCon的演示文稿;
SignalProcessing –Julia写的旗子暗记处理工具;
Images –Julia的图像库。
若想获取“史上最全机器学习资料(上)”的全部内容,请关注云栖社区微信"大众号:yunqiinsight,并回答“史上最全机器学习资料”。