本文汇编了一些机器学习领域的框架、库以及软件(按编程语言排序)。
CCV ―基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库
OpenCV―它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系统。
MLPack
DLib
ecogg
shark
Closure Toolbox―Clojure语言库与工具的分类目录
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生成库。
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实现实时查询
Twitter-text-js ―JavaScript实现的推特文本处理库
NLP.js ―javascript及coffeescript编写的NLP工具
natural―Node下的通用NLP工具
Knwl.js―JS编写的自然语言处理器
D3.js
High Charts
NVD3.js
dc.js
chartjs
dimple
amCharts
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及浏览器使用。
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实现的神经网络
Topic Models ―Julia下的主题建模
Text Analysis―Julia下的文本分析包
Graph Layout ―纯Julia实现的图布局算法。
Data Frames Meta ―DataFrames的元编程工具。
Julia Data―处理表格数据的Julia库
Data Read―从Stata、SAS、SPSS读取文件
Hypothesis Tests―Julia中的假设检验包
Gladfly ―Julia编写的灵巧的统计绘图系统。
Stats―Julia编写的统计测试函数包
RDataSets ―读取R语言中众多可用的数据集的Julia函数包。
DataFrames ―处理表格数据的Julia库。
Distributions―概率分布及相关函数的Julia包。
Data Arrays ―元素值可以为空的数据结构。
Time Series―Julia的时间序列数据工具包。
Sampling―Julia的基本采样算法包
DSP ―数字信号处理
JuliaCon Presentations―Julia大会上的演示文稿
SignalProcessing―Julia的信号处理工具
Images―Julia的图片库
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 �C 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模拟器中用静态帧生成数据集的脚本。
Contourlets ―实现轮廓波变换及其使用函数的MATLAB源代码
Shearlets―剪切波变换的MATLAB源码
Curvelets―Curvelet变换的MATLAB源码(Curvelet变换是对小波变换向更高维的推广,用来在不同尺度角度表示图像。)
Bandlets―Bandlets变换的MATLAB源码
NLP ―一个Matlab的NLP库
Training a deep autoencoder or a classifier on MNIST digits―在MNIST字符数据集上训练一个深度的autoencoder或分类器[深度学习]。
t-Distributed Stochastic Neighbor Embedding ―获奖的降维技术,特别适合于高维数据集的可视化
Spider―Matlab机器学习的完整面向对象环境。
LibSVM ―支持向量机程序库
LibLinear ―大型线性分类程序库
Machine Learning Module ―M. A .Girolami教授的机器学习课程,包括PDF,讲义及代码。
Caffe―考虑了代码清洁、可读性及速度的深度学习框架
Pattern Recognition Toolbox ―Matlab中的模式识别工具包,完全面向对象
matlab_gbl―处理图像的Matlab包
gamic―图像算法纯Matlab高效实现,对MatlabBGL的mex函数是个补充。
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。
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
pattern_classification
thinking stats 2
hyperopt
numpic
2012-paper-diginorm
ipython-notebooks
decision-weights
Sarah Palin LDA ―Sarah Palin关于主题建模的电邮。
Diffusion Segmentation ―基于扩散方法的图像分割算法集合。
Scipy Tutorials ―SciPy教程,已过时,请查看scipy-lecture-notes
Crab―Python的推荐引擎库。
BayesPy―Python中的贝叶斯推断工具。
scikit-learn tutorials―scikit-learn学习笔记系列
sentiment-analyzer ―推特情绪分析器
group-lasso―坐标下降算法实验,应用于(稀疏)群套索模型。
mne-python-notebooks―使用 mne-python进行EEG/MEG数据处理的IPython笔记
pandas cookbook―使用Python pandas库的方法书。
climin―机器学习的优化程序库,用Python实现了梯度下降、LBFGS、rmsprop、adadelta 等算法。
wiki challange ―Kaggle上一个维基预测挑战赛 Dell Zhang解法的实现。
kaggle insults―Kaggle上”从社交媒体评论中检测辱骂“竞赛提交的代码
kaggle_acquire-valued-shoppers-challenge―Kaggle预测回头客挑战赛的代码
kaggle-cifar ―Kaggle上CIFAR-10 竞赛的代码,使用cuda-convnet
kaggle-blackbox ―Kaggle上blackbox赛代码,关于深度学习。
kaggle-accelerometer ―Kaggle上加速度计数据识别用户竞赛的代码
kaggle-advertised-salaries ―Kaggle上用广告预测工资竞赛的代码
kaggle amazon ―Kaggle上给定员工角色预测其访问需求竞赛的代码
kaggle-bestbuy_big―Kaggle上根据bestbuy用户查询预测点击商品竞赛的代码(大数据版)
kaggle-bestbuy_small―Kaggle上根据bestbuy用户查询预测点击商品竞赛的代码(小数据版)
Kaggle Dogs vs. Cats ―Kaggle上从图片中识别猫和狗竞赛的代码
Kaggle Galaxy Challenge ―Kaggle上遥远星系形态分类竞赛的优胜代码
Kaggle Gender ―Kaggle竞赛:从笔迹区分性别
Kaggle Merck―Kaggle上预测药物分子活性竞赛的代码(默克制药赞助)
Kaggle Stackoverflow―Kaggle上 预测Stack Overflow网站问题是否会被关闭竞赛的代码
wine-quality ―预测红酒质量。
Treat―文本检索与注释工具包,Ruby上我见过的最全面的工具包。
Ruby Linguistics―这个框架可以用任何语言为Ruby对象构建语言学工具。包括一个语言无关的通用前端,一个将语言代码映射到语言名的模块,和一个含有很有英文语言工具的模块。
Stemmer―使得Ruby可用 libstemmer_c中的接口。
Ruby Wordnet ―WordNet的Ruby接口库。
Raspel ―aspell绑定到Ruby的接口
UEA Stemmer―UEALite Stemmer的Ruby移植版,供搜索和检索用的保守的词干分析器
Twitter-text-rb―该程序库可以将推特中的用户名、列表和话题标签自动连接并提取出来。
Ruby Machine Learning ―Ruby实现的一些机器学习算法。
Machine Learning Ruby
jRuby Mahout ―精华!在JRuby世界中释放了Apache Mahout的威力。
CardMagic-Classifier―可用贝叶斯及其他分类法的通用分类器模块。
Neural Networks and Deep Learning―《神经网络和深度学习》一书的示例代码。
rsruby �C Ruby �C R bridge
data-visualization-ruby―关于数据可视化的Ruby Manor演示的源代码和支持内容
ruby-plot ―将gnuplot包装为Ruby形式,特别适合将ROC曲线转化为svg文件。
plot-rb―基于Vega和D3的ruby绘图库
scruffy ―Ruby下出色的图形工具包
SciRuby
Glean―数据管理工具
Bioruby
Arel
Big Data For Chimps―大数据处理严肃而有趣的指南书
Clever Algorithms For Machine Learning
Machine Learning For Hackers
Machine Learning Task View on CRAN―R语言机器学习包列表,按算法类型分组。
caret―R语言150个机器学习算法的统一接口
SuperLearner and subsemble―该包集合了多种机器学习算法
Introduction to Statistical Learning
Learning Statistics Using R
ggplot2―基于图形语法的数据可视化包。
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加速库。