梦想还是要有的, 万一实现了呢?

国外程序员整理的机器学习资源大全

Python 拈花古佛 1492℃

英文原文:awesome-machine-learning

本文汇编了一些机器学习领域的框架、库以及软件(按编程语言排序)。

C++

计算机视觉

CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库

OpenCV—它提供C++, C, Python, Java 以及 MATLAB 接口,并支持 Windows, Linux, Android and Mac OS 操作系统。

通用机器学习

MLPack

DLib

ecogg

shark

Closure

通用机器学习

Closure Toolbox—Clojure 语言库与工具的分类目录

Go

自然语言处理

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 生成库。

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—提供一个简单的大规模实时机器学习/预测分析基础架构。

数据分析/数据可视化

Hadoop—大数据分析平台

Spark—快速通用的大规模数据处理引擎。

Impala —为 Hadoop 实现实时查询

Javascript

自然语言处理

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 及浏览器使用。

Julia

通用机器学习

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

杂项脚本/iPython 笔记/代码库

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 等算法。

Kaggle 竞赛源代码

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 —预测红酒质量。

Ruby

自然语言处理

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

Misc

杂项

Big Data For Chimps—大数据处理严肃而有趣的指南书

R

通用机器学习

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—基于图形语法的数据可视化包。

Scala

自然语言处理

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 加速库。

翻译: 伯乐在线 toolate

译文链接: http://blog.jobbole.com/73806/

转载请注明:拈花古佛 » 国外程序员整理的机器学习资源大全

喜欢 (0)or分享 (0)