本文汇编了一些机器学习领域的框架、库以及软件(按编程语言排序)。
C++计算机视觉- CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库
- OpenCV—它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系统。
- Closure Toolbox—Clojure语言库与工具的分类目录
- go-porterstemmer—一个Porter词干提取算法的原生Go语言净室实现
- paicehusk—Paice/Husk词干提取算法的Go语言实现
- snowball—Go语言版的Snowball词干提取器
数据分析/数据可视化 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—提供一个简单的大规模实时机器学习/预测分析基础架构。
- 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及浏览器使用。
- 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 – 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函数是个补充。