摘要: 机器学习牵涉的编程语言十分之广,包括了MATLAB、Python、Clojure、Ruby等等。为了让开发者更加广泛、深入地了解机器学习,云栖社区组织翻译了GitHub Awesome Machine Learning 资源,涵盖24种编程语言的机器学习的框架、库以及其他相关资料。
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习牵涉的编程语言十分之广,包括了MATLAB、Julia、R、Perl、Python、Clojure、Ruby等等。
为了让开发者更加广泛、深入地了解机器学习,云栖社区组织翻译了GitHub Awesome Machine Learning 资源,涵盖24种编程语言的机器学习的框架、库以及其他相关资料。
Lua
通用机器学习
- cephes – 由Torch包装的Cephes数学函数库,由Stephen L. Moshier开发,库中提供并包装了从Cephes数学库中的180多个特殊的数学函数,是SciPy的核心,作用广泛;
- autograd – Autograd自动区分本机Torch代码,受原始的Python版本的启发;
- graph – Torch的图形包;
- randomkit – 从Numpy提取的随机数生成包,包装成Torch可用形式;
- signal – 适用Torch-7的信号处理工具箱,包括FFT、DCT、Hilbert、cepstrums、stft等变换;
- nn – Torch的神经网络包;
- nngraph – 此软件包为Torch7 nn库提供图形计算;
- nnx – 一个不稳定的实验包,能够扩展Torch的内置nn库;
- rnn – 能够扩展Torch nn库的递推神经网络库,包括RNNs、LSTMs、GRUs、BRNNs、BLSTMs等等;
- dpnn – 许多有用的功能,并不是主要的神经网络包的一部分;
- dp – 深度学习库,专门使用Torch7分配进行合理化的研究和开发,它强调通过优雅地使用面向对象的设计模式,从而实现灵活性;
- optim – 针对Torch的优化库,包括Adagrad、共轭梯度、LBFGS, RProp等算法;
- unsup – Torch中的无监督学习包,提供了与nn相兼容的模块((LinearPsd、ConvPsd、AutoEncoder等),以及独立的算法(k-均值、PCA);
- manifold – 操作流形的包;
- svm – Torch的支持向量机库;
- lbfgs – 针对liblbfgs的FFT包;
- vowpalwabbit – torch的旧式vowpalwabbit接口;
- OpenGM – OpenGM是一个用于图形化建模和推断的C++库, Lua binding提供了一种简单的描绘图形的方法,用Lua描绘,再用OpenGM优化;
- sphagetti – @MichaelMathieu开发的用于torch7的Spaghetti(稀疏线型)模块;
- 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 – 当前最先进的通用密集特征提取方式。
演示与脚本
- 线性回归,逻辑回归;
- 面部检测器(训练和检测作为独立的演示);
- 基于mst的分段器;
- train-a-digit-classifier
- train-autoencoder
- optical flow demo
- train-on-housenumbers
- train-on-cifar
- 深层网络追踪;
- Kinect 演示;
- 滤波组件可视化;
- 网络卓越度;
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学习环境的静态帧中生成数据集的脚本。
Matlab
计算机视觉
- Contourlets –MATLAB源代码,能够实现轮廓变换及其效用函数;
- Shearlets –剪切波变换的MATLAB代码;
- Curvelets –曲波变换是小波变换的高维推广,用于表示不同尺度和不同角度的图像;
- Bandlets – bandlet变换的MATLAB代码;
- mexopencv – 针对OpenCV库,用于收集和开发MATLAB MEX函数的套件;
- NLP – 用于Mablab的NLP库;
通用机器学习
- Training a deep autoencoder or a classifier on MNIST digits – 在MNIST数字上训练深度自编码或深度分类[深度学习];
- Convolutional-Recursive Deep Learning for 3D Object Classification – 针对三维目标分类的卷积递归深度学习[深度学习];
- t-Distributed Stochastic Neighbor Embedding – T-分布式随机邻域嵌入(T-SNE)法,已获奖,该降维技术特别适合高维数据集的可视化;
- Spider – Matlab中完整的面向对象的环境,用于机器学习;
- LibSVM – 支持向量机程序库;
- LibLinear – 大型线性分类库;
- Machine Learning Module – 机器学习课程,包括PDF、讲义及代码;
- Caffe – 深度学习框架,开发时考虑到了清洁度,可读性和速度;
- Pattern Recognition Toolbox – Matlab中完整的面向对象环境,用于机器学习;
- Pattern Recognition and Machine Learning – C. Bishop在书Pattern Recognition and Machine Learning中描述了一个算法,该软件包包含了书中算法的matlab实现;
- Optunity – 该库致力于用简单、轻量级的API进行自动超参数优化,以方便直接替换网格搜索;Optunity用Python编写,但与MATLAB无缝连接;
数据分析/数据可视化
- matlab_gbl – 处理图形问题的MATLAB程序包;
- gamic – 图形算法用纯Matlab高效实现,以补充MatlabBGL的MEX函数;
.NET
计算机视觉
- OpenCVDotNet – OpenCV工程封装器,用于.NET应用程序;
- Emgu CV – OpenCV的跨平台封装器,可在Mono中编译,并运行于Windows、Linus、Mac OS X、 iOS、Android等系统;
- AForge.NET – 开放源码C#框架,用于计算机视觉和人工智能领域的开发和研究人员,目前已转移到GitHub发展;
- Accord.NET -连同AForge.NET,可为Windows、Windows RT和Windows Phone提供图像处理和计算机视觉算法,一些组件适用于Java和Android;
自然语言处理
- Stanford.NLP for .NET – 斯坦福大学NLP包在.NET上的完整移植,也可作为NuGet包进行预编译;
通用机器学习
- Accord-Framework – 完整的Accord.NET框架,用于机器学习,计算机视觉,计算机试听,信号处理和统计应用;
- Accord.MachineLearning –该软件包是Accord.NET框架的一部分,包括支持向量机、决策树、朴素贝叶斯模型、K均值、高斯混合模型和一些通用算法,例如适用于机器学习应用的RANSAC、交叉验证和网格搜索;
- DiffSharp – 一个自动微分(AD)库,能够提供精确高效,用于机器学习和优化应用的导数(梯度、Hessians、雅可比行列式、方向导数、无矩阵Hessian-和雅可比矢量积),操作可以嵌套到任何级别,这意味着你可以通过利用内部微分,来计算精确的高阶导数,如超参数优化函数的应用;
- Vulpes – F#写的Deep belief与深度学习的实现,并在Alea.cuBase下用CUDA GPU执行;
- Encog –一种先进的神经网络和机器学习框架。 Encog包含用于创建各类网络的类,同时也支持为神经网络规范和处理数据的类。它的训练采用多线程弹性传播。同时使用GPU加快处理时间,此外还提供了图形化界面来帮助建模和训练神经网络;
- Neural Network Designer – DBMS管理系统和神经网络的设计平台,该设计应用程序使用WPF开发,是一个用户界面,允许用户设计自己的神经网络,查询网络,创建和配置能够提出问题、并能从反馈中学习的聊天机器人,聊天机器人甚至可以搜集Internet上的信息,以便在返回时输出,或者用于学习;
数据分析/数据可视化
- 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 – 用于数据分析和科学计算的交互环境,可以使用编译代码(.NET)无缝连接脚本(用IronPython),以实现快速、灵活的原型设计;该环境包括线性代数、数据可视化等强大高效的库,可供任何.NET语言使用,还为快速开发提供了功能丰富的交互式shell。
Objective
通用机器学习
- YCML – 用于Objective-C 和Swift (OS X / iOS)的机器学习框架;
- MLPNeuralNet –用于 iOS and Mac OS X的快速多层感知神经网络库,可通过神经网络预测新实例,建立在苹果公司的加速框架之上,如果需要,可利用向量化操作和硬件加速操作;
- MAChineLearning – Objective-C多层感知库,通过反向传播全面支持训练,用vDSP和vecLib实现,比同等情况下的Java快20倍,包括从Swift使用的示例代码;
- BPN-NeuralNetwork – 能够实现3层神经网络(输入层、隐藏层和输出层),其命名来源于BP神经网络(BPN),可用于产品建议、用户行为分析、数据挖掘和数据分析;
- Multi-Perceptron-NeuralNetwork -它能够实现基于BPN的多感知神经网络,并设计于无限隐藏层上;
- KRHebbian-Algorithm – 机器学习神经网络中的非监督和自学习算法(调整权重);
- KRKmeans-Algorithm – 它实现了K-均值聚类和分类算法,可用于数据挖掘和图像压缩;
- KRFuzzyCMeans-Algorithm – 它实现了机器学习中的模糊C均值(FCM)模糊聚类/分类算法,可用于数据挖掘和图像压缩;
OCaml
通用机器学习
自然语言处理
- jieba-php –中文分词工具。
通用机器学习
- PredictionBuilder -采用线性回归建立预测的机器学习库。
Python
计算机视觉
- Scikit-Image – Python图像处理算法的集合;
- SimpleCV – 一个开源的计算机视觉框架,能够访问如OpenCV的高性能计算机视觉库,用Python编写,可运行在Mac、Windows和Ubuntu Linux等操作系统;
- Vigranumpy – Python绑定的VIGRA C++计算机视觉库;
- OpenFace -免费的开源面部识别深层神经网络;
自然语言处理
- NLTK -用人类语言数据编写Python程序的一个领先平台;
- Pattern – Python编程语言的Web挖掘模块,有用于自然语言处理、机器学习等的工具;
- Quepy –一个Python框架,将自然语言问题转换成数据库查询语言;
- TextBlob – 给常规的自然语言处理(NLP)任务提供一致的API,以NLTK和Pattern为基础,并和两者都能很好兼容;
- YAlign – 语句校准器,较好地用于从比较语料库中提取并行语句;
- jieba -中文分词工具;
- SnowNLP –用于处理中文文本的库;
- spammy – 建在NLTK之上的库,用于垃圾邮件过滤;
- loso – 另一个中文分词库;
- genius – 基于条件随机域的中文断词库;
- KoNLPy – 用于韩语自然语言处理的Python包;
- nut -自然语言理解工具包;
- Rosetta -文本处理工具和包装器(例如Vowpal Wabbit);
- BLLIP Parser – Python绑定的BLLIP自然语言解析器(也称为Charniak-Johnson解析器);
- PyNLPl – Python的自然语言处理库,Python的通用NLP库,还包含一些特定模块,用于常规的NLP格式分析,尤其是FoLiA和ARPA语言模型,Moses phrasetables,GIZA++ alignments等;
- python-ucto – Python绑定的ucto(包括Unicode,基于规则,各种语言的的标记生成器);
- python-frog – Python绑定的Frog,用于Dutch的NLP套件(词性标注,词性还原,依存分析,NER);
- python-zpar – Python绑定的ZPar,统计性的部分词性标注,constiuency解析器和英语依存句法分析;
- colibri-core – Python绑定的C++库,用于以快速和存储器高效的方式提取并使用基本语言结构,例如-grams 和skipgrams;
- spaCy – 使用Python和Cython,NLP的产业优势;
- PyStanfordDependencies –Python接口,用于将Penn Treebank树转换成Stanford Dependencies;
通用机器学习
- machine learning -自动构建网络接口,编程接口API套件,用于支持向量机;相应的数据集(多个)存储到一个SQL数据库,然后生成用于预测的模型(多个),再被存储到NoSQL数据存储中;
- XGBoost – Python绑定的 eXtreme Gradient Boosting(树)库;
- Bayesian Methods for Hackers -关于Python编程概率规划的图书/ IPythonnotebook;
- Featureforge -用于创建和测试机器学习的特点的一组工具,具有兼容scikit学习的API;
- MLlib in Apache Spark – Spark下的分布式机器学习库;
- scikit-learn -基于SciPy的机器学习模块;
- metric-learn – 测度学习的Python模块;
- SimpleAI – 实现了许多书Artificial Intelligence, a Modern Approach书中描述的人工智能算法,着重于提供一个易于使用、方便存档和测试的库;
- astroML – 用于天文学的机器学习和数据挖掘;
- graphlab-create – 实现各种机器学习模型(回归、聚类、推荐系统、图形分析等)的库,基于可以磁盘存储的DataFrame;
- BigML – 用于连接外部服务器的库;
- pattern – Python Web挖掘模块;
- NuPIC – 智能计算的Numenta平台;
- Pylearn2 – 基于Theano的机器学习库;
- keras -基于Theano的模块化神经网络库;
- hebel – Python下的GPU加速深度学习库;
- Chainer -灵活的神经网络架构;
- gensim – 主题建模工具;
- topik -主题建模工具包;
- PyBrain -另一个Python机器学习库;
- Brainstorm – 继PyBrain后,快速、灵活、有趣的神经网络;
- Crab – 灵活、快速的推荐引擎;
- python-recsys – 实现推荐系统的Python库;
- thinking bayes – 关于贝叶斯分析的书籍;
- Restricted Boltzmann Machines – Python编写的受限的玻尔兹曼机[深度学习];
- Bolt – Bolt在线学习工具箱;
- CoverTree – cover tree的Python实现,scipy.spatial.kdtree便捷的替代;
- nilearn – Python编写的用于神经影像的机器学习;
- Shogun – Shogun机器学习工具箱;
- Pyevolve -遗传算法框架;
- Caffe – 深度学习框架,开发时考虑了清洁度、可读性和速度;
- breze – 基于Theano的用于深层递归神经网络的库;
- pyhsmm – 用于近似无监督推论的库,存在于贝叶斯隐马尔可夫模型(HMM模型)和隐藏式半马尔可夫模型(HSMMs),HDP-HMM和HDP-HSMM侧重于非参数贝叶斯扩展,大多是弱极限近似值;
- mrjob – 让Python程序运行在Hadoop上的库;
- SKLL – scikit-learn的包装器,使其实验起来较容易;
- neurolab – https://github.com/zueve/neurolab
- Spearmint – Spearmint是根据论文中提出的算法执行贝叶斯优化的程序包,论文如下:Practical Bayesian Optimization of Machine Learning Algorithms. Jasper Snoek, Hugo Larochelle and Ryan P. Adams. Advances in Neural Information Processing Systems, 2012.
- Pebl -贝叶斯学习的Python环境;
- Theano – 在Python中,用优化的GPU元编程代码生成阵列导向的优化数学编译器;
- TensorFlow -使用数据流图进行数值计算的开源软件库;
- yahmm – Python下的隐马尔可夫模型,考虑到速度和效率,用Cython来实现;
- python-timbl – 一个Python扩展模块,可包装完整的TiMBL C ++编程接口;Timbl是一个详尽的k最近邻域机器学习工具包;
- deap -进化算法框架;
- pydeep – Python下的深度学习;
- mlxtend -工具库,包括对数据科学和机器学习任务等非常有用的工具;
- neon – Nervana基于Python的高性能深度学习框架[深度学习];
- Optunity – 该库致力于用一个简单、轻量级的API直接替换网格搜索以实现自动超参数优化;
- Neural Networks and Deep Learning – 《神经网络和深度学习》一书中的代码示例[深度学习];
- Annoy – 近似最近邻算法的实现;
- skflow -为TensorFlow简化的界面,模仿了Scikit Learn;
- TPOT – 使用遗传编程自动创建并优化了机器学习流水线的工具;
- pgmpy – 用于概率图解模型的Python库;
- DIGITS -深度学习GPU训练系统(DIGITS)是用于训练深度学习模型的Web应用程序;
- Orange –同时适用于初学者和专家的开源数据可视化和数据分析;
- MXNet – 轻量级、便携式、灵活的分布式/深度学习系统,可对动态的、突变数据流调度部署,同时也支持Python、R、Julia、Go、Javascript 等编程语言。
- milk – 强调监督分类法的机器学习工具包;
- TFLearn -针对TensorFlow的高层次API深度学习库。
数据分析/数据可视化
- SciPy -基于Python的数学、科学、工程开源软件生态系统;
- NumPy – Python科学计算基础包;
- Numba – Python的低级虚拟机JIT编译器,由Cython and NumPy的开发者编写,供科学计算使用;
- NetworkX – 用于复杂网络使用的高效率软件;
- igraph – 绑定igraph 库-通用图形库 ;
- Pandas – 该库提供了高性能、易用的数据结构及数据分析工具;
- Open Mining – Python中的商业智能工具(Pandas web接口);
- PyMC – Markov Chain Monte Carlo(MCMC)采样工具包;
- zipline – Python的算法交易库;
- PyDy – 全名Python Dynamics,协助基于NumPy, SciPy, IPython以及 matplotlib的动态建模工作流;
- SymPy – Python中的符号数学库;
- statsmodels – Python中的统计建模及计量经济学库;
- astropy – Python中的天文学程序库;
- matplotlib – Python中的2D绘图库;
- bokeh -Python的交互式Web绘图库;
- plotly – Python 和matplotlib的协作web绘图库;
- vincent – Python到 Vega的转换器;
- d3py – Python的绘图库,基于D3.js;
- ggplot – 和R语言里的ggplot2提供同样的API;
- ggfortify – 统一到ggplot2流行的R包的接口;
- Kartograph.py – Python中渲染SVG图的库,效果出众R;
- pygal – Python的SVG图表生成器;
- PyQtGraph – 基于PyQt4/PySide和NumPyde 纯Python编写的图形和GUI库;
- pycascading
- Petrel – 纯Python中用于编写、提交、调试和监视Storm拓扑结构的工具;
- Blaze – NumPy和Pandas的大数据接口;
- emcee – Python集成采样工具包用于仿射不变的MCMC;
- windML – 用于风能分析与预测的Python框架;
- vispy – 基于GPU的高性能交互式OpenGL 2D/3D数据可视化库;
- cerebro2 – NuPIC的一个基于Web的可视化和调试平台;
- NuPIC Studio – 一个all-in-one NuPIC 分层时间可视化和调试的超级工具!
- SparklingPandas Pandas on PySpark (POPS)
- Seaborn – 基于matplotlib的Python可视化库;
- bqplot – Jupyter (IPython)中用于绘图的API;
- pastalog – 用于训练神经网络的简单、实时可视化的服务器;
- caravel – 可视、直观、互动的数据探索平台。
杂项脚本/iPython笔记/代码库
- BioPy – Python中的生物启发和机器学习算法;
- pattern_classification
- thinking stats 2
- hyperopt
- numpic
- 2012-paper-diginorm
- A gallery of interesting IPython notebooks
- ipython-notebooks
- data-science-ipython-notebooks – 持续更新的数据科学Python笔记:Spark、Hadoop MapReduce、HDFS、AWS、Kaggle、scikit-learn、matplotlib、pandas、NumPy、 SciPy、和其他各种命令行;
- 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 – 推特情绪分析器;
- sentiment_classifier – 采用词义消歧的情感分类器;
- group-lasso – 一些坐标下降算法实验,应用于(稀疏)群套索模型;
- jProcessing – Kanji / Hiragana / Katakana 到Romaji的转换器。Edict 字典和平行句搜索。两个JP句间相似度。日文情感分析。在Python运行 Cabocha(ISO 8859-1配置);
- mne-python-notebooks -使用 mne-python进行EEG/MEG数据处理的IPython笔记;
- pandas cookbook – 使用Python pandas库的方法书;
- climin – 机器学习的优化程序库,用Python实现了梯度下降、LBFGS、rmsprop、adadelta 等算法;
- Allen Downey’s Data Science Course – 2014春季Olin挑战数据科学源码;
- Allen Downey’s Think Bayes Code – Think Bayes 的代码库;
- Allen Downey’s Think Complexity Code – Allen Downey’s book Think Complexity 源码;
- Allen Downey’s Think OS Code – Think OS的文本和对应源码:操作系统简介;
- Python Programming for the Humanities – 为那些对应知识人开设的Python编程课。重点在文本处理/NLP;
- GreatCircle – 计算大圆距离的库;
- Optunity examples – 如何将Optunity 和机器学习库协同使用的演示示例;
- Dive into Machine Learning with Python Jupyter notebook and scikit-learn – “我最初最为黑客来学习Python,越陷越深。我想利用在机器学习中使用它。如何您对此感兴趣,请加入我们。”
- TDB – TensorDebugger (TDB) 是深度学习可视化调试器,使用断点调试、互动和可视化扩展 TensorFlow。
Kaggle竞赛源码
- wiki challenge – Kaggle上一个维基预测挑战赛 Dell Zhang解法的实现;
- kaggle insults – Kaggle上”从社交媒体评论中检测辱骂词汇“竞赛提交的源码;
- kaggle_acquire-valued-shoppers-challenge – Kaggle预测回头客挑战赛的源码;
- kaggle-cifar – Kaggle上CIFAR-10 竞赛的源码,该代码中使用cuda-convnet;
- kaggle-blackbox – 深度学习更加容易;
- kaggle-accelerometer – Kaggle上加速度计数据识别用户竞赛的源码;
- kaggle-advertised-salaries – Kaggle上用广告预测工资竞赛的源码;
- kaggle amazon – 亚马逊接入控制挑战;
- kaggle-bestbuy_big – Kaggle上关于Best Buy 挑战的源码;
- kaggle-bestbuy_small
- Kaggle Dogs vs. Cats -Kaggle上从图片中识别猫和狗竞赛的源码;
- Kaggle Galaxy Challenge – Kaggle上银河系挑战竞赛的优胜代码;
- Kaggle Gender -Kaggle竞赛:从笔迹上区分性别;
- Kaggle Merck – Kaggle上预测药物分子活性竞赛的代码(默克制药赞助);
- Kaggle Stackoverflow – 预测Stack Overflow网站问题是否会被关闭竞赛的源码;
- kaggle_acquire-valued-shoppers-challenge – Kaggle获取有价值的顾客竞赛源码;
- wine-quality – 预测红酒质量。
Ruby
自然语言处理
- Treat – 文本检索与注释工具包,目前为止我见过Ruby上的最全面的工具包;
- Ruby Linguistics – Linguistics框架可以用任何语言为Ruby对象构建语言学工具,它包括一个语言无关的通用前端、一个将语言代码映射到语言名的模块以及一个含有多英文语言工具的模块;
- Stemmer – 使Ruby可以用 libstemmer_c中的接口;
- Ruby Wordnet – WordNet的Ruby接口库;
- Raspell – raspell是一个绑定到Ruby的接口;
- UEA Stemmer -UEALite Stemmer的Ruby移植版,用来供搜索和检索用的保守的词干分析器 ;
- Twitter-text-rb – 一个可以将推特中的用户名、列表和话题标签自动连接并提取出来的库。
通用机器学习
- Ruby Machine Learning – Ruby语言实现的一些机器学习算法;
- Machine Learning Ruby
- jRuby Mahout – JRuby Mahout一个精华!在JRuby世界中释放了Apache Mahout的威力;
- CardMagic-Classifier – 可用贝叶斯及其他分类法的通用分类器模块;
- rb-libsvm – LIBSVM的Ruby语言绑定,是一个支持向量机的库。
数据分析/数据可视化
- rsruby – Ruby – R的桥梁;
- 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
- Listof – 基于数据收集的社区,在创业板块。获取更多资料的TXT、Json或Hash列表。 Demo/Search for a list
Rust
通用机器学习
- deeplearn-rs – deeplearn-rs 提供了使用矩阵乘法、加法简单的网络,遵循MIT协议;
- rustlearn – 支持逻辑回归、支持向量机、决策树和随机森林的机器学习框架;
- rusty-machine – 一个纯rust语言机器学习库;
- leaf – 用于机器智能的开源框架,其灵感来自TensorFlow和 Caffe,遵循 MIT 协议;
- RustNN – RustNN 是一个前向反馈神经网络库。
R
通用机器学习
- ahaz – ahaz:用于正则化半参数风险回归模型;
- arules – arules:频繁项集与关联规则的挖掘;
- bigrf – bigrf:大随机森林:大型数据集的分类和回归分析;
- bigRR – bigRR: 广义岭回归 (在P>>N的情况特具有特殊优势);
- bmrm – bmrm: 正则化风险最小方案集;
- Boruta – Boruta: 一种用于所有相关特征选择的包装算法;
- bst – bst: 梯度推进(Gradient Boosting);
- C50 – C50: C5.0决策树和基于规则模型;
- caret – 分类与回归训练:R语言150个机器学习算法的统一接口;
- caretEnsemble – 用于拟合和创建多符号模型的框架 ;
- Clever Algorithms For Machine Learning(机器学习的巧妙算法)
- CORElearn – 分类、回归、特征评价与序评价;
- CoxBoost – CoxBoost: 基于提升单一存活点或竞争风险的Cox模型;
- Cubist – Cubist: 基于规则和实例的回归模型;
- earth – 多元自适应回归样条模型;
- evtree – evtree: 全局最优树的进化学习;
- fpc – 灵活的聚类程序;
- frbs – frbs: 基于模糊规则的分类和回归任务系统;
- GAMBoost – 基于似然法的广义线性和加性模型;
- gamboostLSS – GAMLSS的Boosting方法;
- gbm – 广义回归模型;
- glmnet – 用于实现套索和弹性网络化的广义线性模型
- glmpath – Cox比例风险模型和广义线性模型的L1正则化路径;
- GMMBoost – 广义混合模型中基于似然估计的Boosting;
- grplasso – 采用群体套索惩罚的用户指定模型;
- grpreg – 分组协变量回归模型的正则化路径;
- h2o – 大规模快速、并行、分布式机器学习算法框架–深度学习、随机森林、GBM、KMeans、PCA、GLM;
- hda – 异方差判别分析;
- 统计学习概论(Introduction to Statistical Learning)
- ipred – ipred: 改进的预测模型;
- kernlab – kernlab: 基于内核的机器学习实验室;
- klaR – klaR: 分类和可视化;
- lars – lars:最小角回归、套索和向前逐步回归;
- lasso2 – lasso2: L1约束估计又名“套索”;
- LiblineaR – LiblineaR:基于LiblinearC/C++ 库线性预测模型;
- LogicReg – LogicReg: 逻辑回归;
- Machine Learning For Hackers
- maptree – 映射、剪切和图形树模型;
- mboost – 基于模型的Boosting
- medley – 使用贪婪逐步算法的混合回归模型;
- mlr – R语言中的机器学习;
- mvpart – 多元分割
- ncvreg – SCAD的正则化路径和MCP惩罚回归模型;
- nnet – 前向反馈神经网络和多项式对数线性模型;
- oblique.tree – 用于数据分类的Oblique Trees ;
- pamr – 微阵列预测分析;
- party – 一个递归Partytioning的实验室;
- partykit -一个递归Partytioning的工具包;
- penalized – 在广义线性模型和Cox模型中L1(套索和融合套索)和L2(岭)惩罚估计;
- penalizedLDA – 采用线性判别进行惩罚分类;
- penalizedSVM – 采用惩罚功能的特征选择向量机;
- quantregForest – 分位数回归森林算法;
- randomForest – 用于分类和回归的Breiman和Cutler随机森林算法;
- randomForestSRC – 用于生存、回归和分类的随机森林算法(RF-SRC);
- rattle – R中的数据挖掘的图形用户界面;
- rdetools – 用于在特征空间的相关维度估计;
- REEMtree – 纵向(面板)数据的随机效应回归树;
- relaxo – 放松的套索;
- rgenoud – R语言版的遗传优化程序包;
- rgp – R 语言中的遗传程序框架;
- Rmalschains – R语言中基于局部搜索链的模因算法进行持续优化算法;
- rminer – rminer: 在分类和回归中数据挖掘(例如NN、SVM)方法的简单应用;
- ROCR – 用于评分分类器性能的可视化;
- RoughSets – 采用粗糙集与模糊粗糙集理论的数据分析包;
- rpart – 递归分割与回归树;
- RPMM – 递归分割混合模型;
- RSNNS – R中的神经网络,采用了Stuttgart神经网络模拟器;
- RWeka – R/Weka 接口;
- RXshrink – 广义岭或最小角回归的最大似然收缩;
- sda – 收缩判别分析和CAT得分变量选择;
- SDDA – 逐步对角判别分析;
- SuperLearner and subsemble – 多算法集成学习包;
- svmpath – SVM向量路径算法;
- tgp – 高斯型贝叶斯模型;
- tree – 分类与回归树;
- varSelRF – varSelRF: 使用随机森林的变量选择;
- XGBoost.R – 结合R的极值梯度Boosting 库;
- Optunity – 通过一个简单、轻量的API可方便更换网格搜索,用于自动化参数优化的库, Optunity 是由Python编写而成但无缝衔接到R;
- igraph – 通用图形库;
- MXNet – 轻量级、便携式、灵活的分布式/深度学习系统,可对动态的、突变数据流调度部署,同时也支持Python、R、Julia、Go、Javascript 等编程语言。
数据分析/数据可视化
- ggplot2 – 一个基于图形语法的数据可视化包。
SAS
通用机器学习
- Enterprise Miner – 通过使用GUI或代码创建可部署模型进行数据挖掘和机器学习;
- Factory Miner – 通过使用GUI,横跨多个市场或客户自动创建可部署机器学习模型。
数据分析/数据可视化
- SAS/STAT – 用于高级统计分析;
- University Edition – 免费!其中包括数据分析和可视化的必要SAS软件包,以及在线SAS课程。
高性能机器学习
- High Performance Data Mining – 通过使用GUI或代码在MPP环境(包括Hadoop)创建可部署模型进行数据挖掘和机器学习;
- High Performance Text Mining – 通过使用GUI或代码在MPP环境(包括Hadoop)进行文本挖掘。
自然语言处理
- Contextual Analysis – 通过GUI向非结构化文本增加结构;
- Sentiment Analysis – 通过GUI从文本抽取情感信息;
- Text Miner – 通过GUI或代码进行文本挖掘。
示例和脚本
- ML_Tables – 包含机器学习最佳时间的简明速查表;
- enlighten-apply – SAS机器学习技术应用的相关代码和资料;
- enlighten-integration – 用于说明SAS与Java、PMML、Python和R中的分析技术相结合的代码和材料;
- enlighten-deep – 用于说明SAS中神经网络及其多个隐藏层的相关代码和材料;
- dm-flow – 关于SAS Enterprise Mine处理流程图的库,通过具体的数据挖掘实例帮助您学习。
Scala
自然语言处理
- ScalaNLP – ScalaNLP一系列机器学习和数值计算库的集合;
- Breeze – Breeze是Scala中的的数值处理库;
- Chalk – Chalk是一个自然语言处理库.
- FACTORIE – FACTORIE是可部署的概率建模工具包,用Scala实现的软件库。为用户提供简洁的语言来创建关系因素图,评估参数并进行推断 。
数据分析/数据可视化
- MLlib in Apache Spark – Spark中的分布式机器学习库;
- Scalding – Cascading的Scala AP接口;
- Summing Bird – 使用Scalding 和 Storm进行Streaming MapReduce;
- Algebird – Scala中的抽象代数工具;
- xerial – Scala中的数据管理工具;
- simmer – 一个进行代数聚合的unix过滤器,用于简化你的数据;
- PredictionIO – PredictionIO是一个供软件开发者和数据工程师用的机器学习服务器;
- BIDMat – 用于支持大规模探索性数据分析的CPU和GPU加速矩阵库;
- Wolfe – 描述性机器学习(Declarative Machine Learning);
- Flink – 分布式数据流处理和批量数据处理的开源计算平台;
- Spark Notebook – 使用Scala和Spark的互动数据科学。
通用机器学习
- Conjecture – Scalding中的可扩展的机器学习框架;
- brushfire – Scala中的分布式决策树集成学习工具;
- ganitha – 基于scalding的机器学习程序库;
- adam – 一个使用Apache Avro、Apache Spark 和 Parquet的基因组处理引擎,有其专用的文件格式,采用Apache 2.0协议许可;
- bioscala -Scala编程语言可用的生物信息库;
- BIDMach – 用于CPU和GPU加速的机器学习库;
- Figaro – 用于构造概率模型的Scala库;
- H2O Sparkling Water – 用于H2O 和Spark 交互操作;
- FlinkML in Apache Flink – Flink中的分布式机器学习库;
- DynaML – 用于机器学习的Scala库/REPL。
Swift
通用机器学习
- Swift AI – Swift语言编写的高度优化的人工智能和机器学习;
- BrainCore – 支持iOS和 OS X的神经网络框架;
- DeepLearningKit–支持苹果iOS OS X和tvOS系统的开源深度学习框架。目前支持在苹果操作系统上利用Caffe训练深度卷积网络模型;
- AIToolbox – A toolbox framework of AI modules written in Swift: Swift语言编写的人工智能(AI)模型工具框架:图/树、线性回归、支持向量机、神经网络、PCA、KMeans、遗传算法、MDP和 混合高斯模型。
以上为“史上最全机器学习资料”的全部内容,更多精彩敬请期待。
译者:刘崇鑫 校对:王殿进
来源:云栖社区