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

标签: 机器学习 | 发表时间:2014-07-22 22:08 | 作者:smallroof
出处:http://www.52ml.net
  本列表选编了一些机器学习领域牛B的框架、库以及软件(按编程语言排序)。

C++

计算机视觉

  • CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库
  • OpenCV—它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系统。

通用机器学习

Closure

通用机器学习

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编写的自然语言处理器

数据分析/数据可视化


通用机器学习

  • 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实现的神经网络

自然语言处理

数据分析/数据可视化

杂项/演示文稿

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库

通用机器学习

数据分析/数据可视化

  • 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笔记/代码库

Kaggle竞赛源代码

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—该程序库可以将推特中的用户名、列表和话题标签自动连接并提取出来。

通用机器学习

数据分析/数据可视化

Misc
杂项

R

通用机器学习

数据分析/数据可视化

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

原文链接:  awesome-machine-learning   翻译:  伯乐在线 toolate
译文链接:  http://blog.jobbole.com/73806/

相关 [程序员 机器学习 资源] 推荐:

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

- - 我爱机器学习
  本列表选编了一些机器学习领域牛B的框架、库以及软件(按编程语言排序). CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库. OpenCV—它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系统.

程序员初学机器学习的四种方式

- - HTML5资源教程
学习机器学习有很多方法,大多数人选择从理论开始. 如果你是个程序员,那么你已经掌握了把问题拆分成相应组成部分及设计小项目原型的能力,这些能力能帮助你学习新的技术、类库和方法. 这些对任何一个职业程序员来说都是重要的能力,现在它们也能用在初学机器学习上. 要想有效地学习机器学习你必须学习相关理论,但是你可以利用你的兴趣及对知识的渴望,来激励你从实际例子学起,然后再步入对算法的数学理解.

机器学习与人工智能学习资源导引

- Roger - 刘未鹏 | Mind Hacks
我经常在 TopLanguage 讨论组上推荐一些书籍,也经常问里面的牛人们搜罗一些有关的资料,人工智能、机器学习、自然语言处理、知识发现(特别地,数据挖掘)、信息检索 这些无疑是 CS 领域最好玩的分支了(也是互相紧密联系的),这里将最近有关机器学习和人工智能相关的一些学习资源归一个类:. 首先是两个非常棒的 Wikipedia 条目,我也算是 wikipedia 的重度用户了,学习一门东西的时候常常发现是始于 wikipedia 中间经过若干次 google ,然后止于某一本或几本著作.

机器学习的最佳入门学习资源

- - 博客 - 伯乐在线
这是一篇很难写的文章,因为我希望这篇文章能对学习者有所启发. 我在空白页前坐下,并且问自己了一个很难的问题:什么样的库、课程、论文和书籍对于机器学习的初学者来说,是最好的. 文章里到底写什么、不写什么,这个问题真的让我很烦恼. 我必须把自己当做一个程序员和一个机器学习的初学者,站在这个角度去考虑最合适的资源.

大数据/数据挖掘/推荐系统/机器学习相关资源

- - 互联网分析沙龙
Share my personal resources,本文贡献者为Zhe Yu. 各种书~各种ppt~更新中~ http://pan.baidu.com/s/1EaLnZ. 机器学习经典书籍小结 http://www.cnblogs.com/snake-hand/archive/2013/06/10/3131145.html.

52个有用的机器学习和预测API(各个方向资源)

- - IT瘾-geek
选自KDnuggets  机器之心编译 参与:吴攀. 人工智能正在成为新一代技术变革的基础技术,但从头开始为自己的应用和业务开发人工智能程序既成本高昂,且往往很难达到自己想要的性能表现,但好在我们有大量现成可用的 API 可以使用. 开发者可以通过这些 API 将其它公司提供的智能识别、媒体监测和定向广告等人工智能服务集成到自己的产品中.

68 款大规模机器学习数据集,涵盖 CV、语音、NLP | 十年资源集

- - IT瘾-tuicool
参加 2019 Python开发者日,请扫码咨询 ↑↑↑. 出品 | AI科技大本营(ID:rgznai100). 此前营长为大家分享过不少机器学习相关数据集的资源,例如 Mozilla 的 1400 小时开源语音数据集; ApolloScape 的大规模自动驾驶数据集; 腾讯 AI Lab 的 “Tencent ML-Images” 项目,甚至还有谷歌团队推出的 Google Dataset Search(Google 数据集搜索)…….

推荐!国外程序员整理的Java资源大全

- - ImportNew
这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建. Maven优于Apache Ant. 后者采用了一种过程化的方式进行配置,所以维护起来相当困难. Gradle:Gradle采用增量构建. Gradle通过Groovy编程而不是传统的XML声明进行配置.

机器学习五步走

- - 我爱机器学习
经常会有人问“我该如何在机器学习方面更进一步,我不知道我接下来要学什么了. 一般我都会给出继续钻研教科书的答案. 每当这时候我都会收到一种大惑不解的表情. 但是进步确实就是持续的练习,保持较强的求知欲,并尽你可能的完成具有挑战性的工作. 因为他是为数不多的几种可以让你真真让你获取坚实知识的媒介. 是的,你可以选择选一门课,注册MOOC,参加一些讨论班.

机器学习之路

- - 我爱机器学习
自从答应简二毛博士将自己的机器学习历程和心得分享给大家至今,转眼间半年已经过去了,感谢简博士分享和开源精神的鼓舞,这也正是本系列关于机器学习介绍博客的动力来源. 之前有些网友,师弟们问我,学习机器学习怎么入手,从看什么书开始. 如果你只愿意看一本书,那么推荐Bishop的PRML,全名Pattern Recognition and Machine Learning. 这本书是机器学习的圣经之作,尤其对于贝叶斯方法,介绍非常完善.