本文汇编了一些机器学习领域的框架、库以及软件(按编程语言排序)。
- 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 词干提取器
数据分析/数据可视化
- 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 的图片库
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 库
- 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 函数是个补充。
.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
- 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 - Ruby – 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 加速矩阵库。