本列表选编了一些机器学习领域牛B的框架、库以及软件(按编程语言排序)。
C++
计算机视觉
- CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库
- OpenCV—它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系统。
通用机器学习
Closure
通用机器学习
Go
自然语言处理
通用机器学习
数据分析/数据可视化
Java
自然语言处理
通用机器学习
数据分析/数据可视化
Javascript
自然语言处理
数据分析/数据可视化
通用机器学习
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
演示及脚本
Matlab
计算机视觉
自然语言处理
通用机器学习
数据分析/数据可视化
.NET
计算机视觉
- OpenCVDotNet —包装器,使.NET程序能使用OpenCV代码
- Emgu CV—跨平台的包装器,能在Windows, Linus, Mac OS X, iOS, 和Android上编译。
自然语言处理
通用机器学习
- 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上运行。
自然语言处理
通用机器学习
数据分析/数据可视化
杂项脚本/iPython笔记/代码库
Kaggle竞赛源代码
Ruby
自然语言处理
通用机器学习
数据分析/数据可视化
Misc
杂项
R
通用机器学习
数据分析/数据可视化
Scala
自然语言处理
数据分析/数据可视化
通用机器学习
本文转自:http://developer.51cto.com/art/201407/446183_all.htm