[转]史上最全的机器学习资料

作者: andyhacker | 来源:发表于2017-06-13 09:27 被阅读273次

    摘要:机器学习牵涉的编程语言十分之广,包括了MATLAB、Python、Clojure、Ruby等等。为了让开发者更加广泛、深入地了解机器学习,云栖社区组织翻译了GitHub Awesome Machine Learning 资源,涵盖24种编程语言的机器学习的框架、库以及其他相关资料。

    摘要:机器学习牵涉的编程语言十分之广,包括了MATLAB、Python、Clojure、Ruby等等。为了让开发者更加广泛、深入地了解机器学习,云栖社区组织翻译了GitHub Awesome Machine Learning 资源,涵盖24种编程语言的机器学习的框架、库以及其他相关资料。

    机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习牵涉的编程语言十分之广,包括了MATLAB、Julia、R、Perl、Python、Clojure、Ruby等等。

    为了让开发者更加广泛、深入地了解机器学习,云栖社区组织翻译了GitHub Awesome Machine Learning 资源,涵盖24种编程语言的机器学习的框架、库以及其他相关资料。

    目录

    C

    通用机器学习

    计算机视觉

    C++

    计算机视觉

    通用机器学习

    自然语言处理

    序列分析

    手势识别

    Common Lisp

    通用机器学习

    Clojure

    自然语言处理

    通用机器学习

    数据分析 /数据可视化

    Erlang

    通用机器学习

    Go

    自然语言处理

    通用机器学习

    数据分析 /数据可视化

    Haskell

    通用机器学习

    Java

    自然语言处理

    通用机器学习

    数据分析 /数据可视化

    深度学习

    Javascript

    自然语言处理

    数据分析 /数据可视化

    通用机器学习

    其他

    Julia

    通用机器学习

    自然语言处理

    数据分析/数据可视化

    其他项 /展示

    Lua

    通用机器学习

    示例和脚本

    Matlab

    计算机视觉

    自然语言处理

    通用机器学

    数据分析 / 数据可视化

    .NET

    计算机视觉

    自然语言处理

    通用机器学习

    数据分析 /数据可视化

    Objective C

    通用机器学习

    OCaml

    通用机器学习

    PHP

    自然语言处理

    通用机器学习

    Python

    计算机视觉

    自然语言处理

    通用机器学习

    数据分析 /数据可视化

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

    Kaggle竞赛源码

    Ruby

    自然语言处理

    通用机器学习

    数据分析 /数据处理

    杂项

    Rust

    通用机器学习

    R

    通用机器学习

    数据分析 /数据可视化

    SAS

    通用机器学习

    数据分析 /数据可视化

    高性能机器学习(MPP)

    自然语言处理

    示例和脚本

    Scala

    自然语言处理

    数据分析 /数据可视化

    通用机器学习

    Swift

    通用机器学习

    Credits

    C

    通用机器学习

    Recommender- 一个C语言库,利用协同过滤(CF)进行产品推荐/建议;

    Darknet-是一个用C和CUDA编写的开源神经网络框架,它速度快,易于安装,并支持CPU和GPU计算。

    计算机视觉

    CCV-基于C语言、高速缓存的核计算机视觉库,是一个现代化的计算机视觉库;

    VLFeat-开放、可便携的计算机视觉算法库,内有matlab工具箱。

    语音识别

    HTK-隐马尔可夫模型工具包(HTK)是一个便携式工具包,用于构建和操作隐马尔可夫模型。

    C++

    计算机视觉

    OpenCV-OpenCV自带C ++、C、Python、Java和MATLAB接口,并支持Windows、Linux、Android版和Mac OS等系统;

    DLib-DLib有C ++和Python接口,用于人脸检测和训练通用的目标探测器;

    EBLearn-Eblearn是一种面向对象的C++库,能够实现各种机器学习模型;

    VIGRA-VIGRA是通用跨平台的C++计算机视觉和机器学习库,能够用Python绑定任意维度的体积。

    通用机器学习

    mlpack-可扩展的C++机器学习库;

    DLib-ML工具套件,能够很容易嵌入到其他应用程序中;

    encog-cpp

    shark

    Vowpal Wabbit (VW)-一个快速的核外(out-of-core )学习系统;

    sofia-ml-快速增量算法套件;

    Shogun-Shogun机器学习工具箱;

    Caffe-基于清洁度、可读性和速度考虑而开发的深度学习框架。[深度学习]

    CXXNET-另一个深度学习框架,其核心代码少于1000行;[深度学习]

    XGBoost-一种并行、优化、通用的梯度推进库;

    CUDA-利用C++ / CUDA快速实现卷积;[深度学习]

    Stan-一种概率性的编程语言,能够实现Hamiltonian Monte Carlo抽样的全贝叶斯统计推断;

    BanditLib-一个简单、有多重保护的Bandit库;

    Timbl:一个软件包/ C ++库,能够实现多种基于内存的学习算法,其中有IB1-IG--k-最近邻分类的实现、IGTree--IB1-IG的决策树近似值;常用于NLP;

    Disrtibuted Machine learning Tool Kit (DMTK)-微软开发的分布式机器学习(参数服务器)框架,能够在多台机器的大型数据集上实现训练模型,与它捆绑的现有工具包括:LightLDA和分布式(多传感)字嵌入;

    igraph-通用图形库;

    Warp-CTC-在CPU和GPU上快速并行地实现连接时域分类(Connectionist Temporal Classification,CTC);

    CNTK-微软研究院开发的计算网络工具包(CNTK),它作为一系列计算步骤,通过有向图来描述神经网络,是统一的深度学习工具包;

    DeepDetect-一个机器学习API,服务器用C++11编写,它使机器学习的状态易于工作,并容易集成到现有应用程序;

    Fido-一个高度模块化的C++机器学习库,用于嵌入式电子产品和机器人中。

    自然语言处理

    MIT Information Extraction Toolkit-C,C ++和Python的工具,用于命名实体识别与关系抽取;

    CRF++-条件随机域(Conditional Random Fields,CRFs)的开源实现,用于分割/标记序列数据及其他自然语言处理任务;

    CRFsuite-条件随机域(CRFs)的实现,用于标记序列数据;

    BLLIP Parser-BLLIP自然语言解析器(也称为Charniak-Johnson解析器);

    colibri-core-是C++库、命令行工具,和Python绑定用于提取与使用基本的语言结构,例如用快速和高效存储的方式实现n-grams和skipgrams模型;

    ucto-是一种工具和C++库,基于支持各种语言的编译器,内含统一字符标准及规则表达式;支持FoLiA格式;

    libfolia-支持FoLiA格式的C++库;

    frog-为Dutch开发的基于内存的NLP套件:POS标签、归类分析、依存句法分析、NER、浅层句法分析、形态分析;

    MeTA-MeTA : ModErn语篇分析(ModErn Text Analysis),是一个C++数据科学工具包,便于挖掘大文本数据。

    语音识别

    Kaldi-Kaldi是用于语音识别的工具包,用C++编写,由Apache许可证V2.0协议授权,专门给语音识别的研究人员使用。

    序列分析

    ToPS-这是一种面向对象的框架,便于在用户定义的字母序列中整合概率模型。

    手势检测

    grt-手势识别工具包(GRT)是一个跨平台、开源的C++机器学习库,用于实时的手势识别。

    Common Lisp

    通用机器学习

    mgl-神经网络(玻耳兹曼机,前馈和循环网络)以及高斯过程;

    mgl-gpr-演化算法;

    cl-libsvm-LIBSVM支持向量机库的包装。

    Clojure

    自然语言处理

    Clojure-openNLP- Clojure中自然语言处理的工具包(openNLP);

    Infections-clj- Clojure和Clojure中类似于Rails的inflection库。

    通用机器学习

    Touchstone- Clojure A/B 测试库;

    Clojush- Clojure中的Push程序语言和PushGP遗传编程系统;

    Infer- Clojure中分析和机器学习的工具;

    Clj-ML- Clojure中基于Weka及其相关环境的深度学习库;

    Encog- 在Clojure中封装成Encog (v3) (专门研究神经网络的机器学习框架);

    Fungp-  Clojure中的遗传编程实例库;

    Statistiker- Clojure中基础机器学习算法;

    clortex-采用Numenta’s Cortical 学习算法的通用机器学习库;

    comportex- 采用Numenta’s Cortical 学习算法的功能组合的机器学习库。

    数据分析/数据可视化

    Incanter- Incanter是基于 Clojure,类似R的统计计算与制图平台;

    PigPen-  Clojure中的Map-Reduce;

    Envision- 基于Statistiker和D3Clojure 数据可视化库。

    Erlang

    通用机器学习

    Disco-  Erlang中的Map Reduce模型。

    Go

    自然语言处理

    go-porterstemmer- 一个用于实现Porter词干提取算法的原生Go语言净室;

    paicehusk- Go语言中用于实现Paice/Husk词干提取算法;

    snowball- Go语言中的Snowball 词干提取器;

    go-ngram-内存N-gram索引压缩 。

    通用机器学习

    Go Learn- Go语言中的机器学习库;

    go-pr- Go语言中的模式识别包;

    go-ml- 线性/逻辑回归、神经网络、协同过滤和多元高斯分布;

    bayesian- Go语言中朴素贝叶斯分类库;

    go-galib- Go语言版的遗传算法库;

    Cloudforest- GO语言中的决策树集合;

    gobrain- GO语言版的神经网络;

    GoNN- GoNN 是用Go语言实现的神经网络,它包括BPNN、RBF、PCN ;

    MXNet- 轻量级、便携式、灵活的分布式/深度学习系统,可对动态的、突变数据流调度部署,同时也支持Python、R、Julia、Go、Javascript 等编程语言。

    数据分析/数据可视化

    go-graph- Go语言图形库;

    SVGo- Go语言的SVG生成库;

    RF- Go语言的随机森林库;

    Haskell

    通用机器学习

    haskell-ml- Haskell 语言实现的各种深度学习算法 ;

    HLearn- 根据代数结构解释其深度模型的库;

    hnn- Haskell语言的神经网络库;

    hopfield-networks- Haskell中用于无监督学习的Hopfield网络;

    caffegraph- 一种用于深度神经网络的领域特定语言(DSL);

    LambdaNet- Haskell中的可配置的神经网络。

    Java

    自然语言处理

    Cortical.io- 像人脑一样快速、精确处理复杂的NLP(自然语言处理)操作(如消歧、分类、流文本过滤等操作)的Retina API;

    CoreNLP- 斯坦福大学的CoreNLP提供的一系列的自然语言处理工具,该工具可以根据输入原始英语文本,给出单词的基本形式;

    Stanford Parser- 一种自然语言分析器,可以分析语句的语法结构;

    Stanford POS Tagger-一个词性分类器  (POS Tagger);

    Stanford Name Entity Recognizer- Stanford NER是一个Java实现的名称识别器;

    Stanford Word Segmenter- 分词器,很多NLP工作中都要用到的标准预处理步骤;

    Tregex, Tsurgeon and Semgrex- Tregex基于树关系以及节点匹配的正则表达式,用于在树状数据结构中进行模式匹配(名字是“tree regular expressions”的缩写) ;

    Stanford Phrasal:一个基于短语的翻译系统

    Stanford English Tokenizer- Stanford Phrasal 用Java写成的最新的基于统计短语的机器翻译系统;

    Stanford Tokens Regex- 一个分解器,可以将文本大致分成一系列对应于“词”的符号;

    Stanford Temporal Tagger- SUTime是一个用于识别并标准化时间表达式的库;

    Stanford SPIED-在种子集上使用模式,以迭代方式从无标签文本中进行学习实体;

    Stanford Topic Modeling Toolbox- 为社会科学家及其他希望分析数据集的人员提供的主题建模工具;

    Twitter Text Java- Java实现的推特文本处理库;

    MALLET- 基于Java的统计自然语言处理、文档分类、聚类、主题建模、信息提取以及其他机器学习的文本应用包;

    OpenNLP- 基于机器学习的自然语言文本处理工具包;

    LingPipe- 一个使用计算机语言学文本处理的工具包;

    ClearTK- 在Java中ClearTK为开发统计语言处理组件提供了一个框架,该框架是基于Apache UIMA;

    Apache cTAKES- Apache cTAKES是一个开源自然语言处理系统,用于从临床电子病历的自由文本中提取信息;

    ClearNLP- ClearNLP工程为自然语言处理提供了软件和资源提供了。该项目最早在计算机愈合和教育研究中心启动,目前由Emory 大学的语言和信息研究中心继续开发。该项目遵循Apache 2 license。

    通用机器学习

    aerosolve- 是由Airbnb设计的定价建议系统的机器学习库;

    Datumbox-应对机器学习和统计应用快速发展的机器学习框架;

    ELKI- 用于数据挖掘的Java工具包(无监督:聚类、异常检测等等);

    Encog- 一种先进的神经网络和机器学习框架。 Encog包含用于创建各类网络的类,同时也支持为神经网络规范和处理数据的类。它的训练采用多线程弹性传播。它也能使用GPU加快处理时间。提供了图形化界面来帮助建模和训练神经网络。

    EvA2- 包含遗传算法、差分进化、协方差自适应进化策略等等的进化算法框架;

    FlinkML in Apache Flink- Flink中的分布式机器学习库;

    H2O- 深度学习引擎,支持在Hadoop、Spark 或者通过R、Python、Scala 、REST/JSONML 的APIs连到的笔记本上进行分布式学习;

    htm.java- 采用Numenta Cortical 学习算法的通用机器学习库 ;

    java-deeplearning- Java、Clojure、Scala的分布式深度学习平台;

    JAVA-ML- 包含所有Java算法的通用接口的通用深度学习库;

    JSAT- 用于分类、回归、聚类的机器学习算法集合;

    Mahout- 分布式的机器学习库;

    Meka- MEKA提供了一个面向多标签学习和评价方法的开源实现(扩展成Weka);

    MLlib in Apache Spark- Spark中的分布式机器学习程序库;

    Neuroph- Neuroph 是轻量级的Java神经网络框架;

    ORYX- 采用Apache Spark和Apache Kafka的Lambda 结构框架,专门用于实时大规模机器学习;

    Samoa- SAMOA 是一个包含用于分布式机器学习数据流的框架,同时为数据流流入不同的流处理平台提供了接口;

    RankLib- RankLib是一个排序学习算法库;

    rapaio- Java中用于统计、数据挖掘和机器学习的工具箱;

    RapidMiner- RapidMiner integration into Java code

    Stanford Classifier- 斯坦福大学分类器是一种机器学习工具,它可以将数据项归置不同的类别中;

    SmileMiner- 统计机器智能与学习引擎;

    SystemML- 灵活、可扩展的机器学习语言;

    WalnutiQ- 人脑部分面向对象模型;

    Weka- Weka是数据挖掘方面的机器学习算法集 。

    语音识别

    CMU Sphinx- CMU Sphinx 是基于Java 语音识别库,用于纯语音识别开源工具包。

    数据分析/数据可视化

    Flink- Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台;

    Hadoop- 大数据分析平台;

    Spark- Spark是一个快速通用的大规模数据处理引擎;

    Storm- Storm是一个分布式实时计算系统;

    Impala- 为Hadoop实现实时查询

    DataMelt- 用于数字计算、统计、符号计算、数据分析和数据可视化的数学软件;

    Dr. Michael Thomas Flanagan's Java Scientific Library

    深度学习

    Deeplearning4j- 采用并行GPU的商用可扩展深度学习库。

    Javascript

    自然语言处理

    Twitter-text- Twitter文本处理库中使用JavaScript的实现;

    NLP.js– 使用JavaScript和CoffeeScript的NLP实用工具;

    natural– 用于节点的通用自然语言工具;

    Knwl.js– JS中的自然语言处理器;

    Retext-用于分析和处理自然语言的可扩展系统;

    TextProcessing-情感分析,词干和词形还原,部分词性标注和组块,短语提取和命名实体识别;

    NLP Compromise- 浏览器中的自然语言处理。

    数据分析/数据可视化

    D3.js

    High Charts

    NVD3.js

    dc.js

    chartjs

    dimple

    amCharts

    D3xter–直接建立在D3上的绘图;

    statkit– JavaScript的统计工具;

    datakit- JavaScript的轻量级数据分析框架;

    science.js- JavaScript中的科学统计计算;

    Z3d– 在Three.js上轻松地绘制交互式3D图;

    Sigma.js- JavaScript库,专门用于图形绘制;

    C3.js– 基于D3.js的定制库,能够轻松绘制图表;

    ZingChart- Vanilla JS编写的库,用于大数据可视化;

    cheminfo– 数据可视化和分析的平台,使用可视化项目。

    通用机器学习

    Convnet.js- ConvNetJS是一个JavaScript库,用于训练深度学习模型[深度学习];

    Clusterfck- 为Node.js和浏览器,用Javascript实现的凝聚层次聚类;

    Clustering.js– Javascript为Node.js和浏览器实现的聚类算法;

    Decision Trees-使用ID3算法实现NodeJS决策树;

    figue- K-均值、模糊C均值和凝聚聚类;

    Node-fann-Node.js绑定的快速人工神经网络库(Fast Artificial Neural Network Library,FANN);

    Kmeans.js- K-均值算法用JavaScript的简单实现,用于Node.js和浏览器;

    LDA.js- Node.js的LDA主题建模;

    Learning.js–用Javascript实现逻辑回归/ c4.5决策树;

    Machine Learning- Node.js的机器学习库;

    Node-SVM- Node.js的支持向量机;

    Brain- JavaScript中的神经网络[已弃用];

    Bayesian-Bandit- Node和浏览器的贝叶斯实现;

    Synaptic– 用于Node.js和浏览器的无架构神经网络库;

    kNear- JavaScript实现的k个最近邻算法,用于监督学习;

    NeuralN- Node.js的C++神经网络库,其优点是有大量的数据集和多线程训练;

    kalman- Javascript的卡尔曼滤波器;

    shaman- Node.js库,同时支持简单和多元的线性回归;

    ml.js–用于Node.js和浏览器的机器学习和数值分析工具;

    Pavlov.js-利用马尔可夫决策过程强化学习;

    MXNet-轻量级、便携式、灵活的分布式/深度学习系统,可对动态的、突变数据流调度部署,同时也支持Python、R、Julia、Go、Javascript 等编程语言。

    其它

    sylvester– 用于JavaScript的向量和矩阵数学;

    simple-statistics- 描述,回归和推断统计的JavaScript实现;用文字实现的JavaScript,没有依赖性,能在所有现代浏览器(包括IE)以及在node.js中工作;

    regression-js– JavaScript库,包含小二乘法拟合方法的集合,用于寻找数据集的趋势;

    Lyric-线性回归库;

    GreatCircle– 计算大圆距的库。

    Julia

    通用机器学习

    MachineLearning- Julia机器学习库;

    MLBase-一组支持机器学习算法的发展的函数;

    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工具;

    Mamba– Julia中马尔可夫链蒙特卡罗(MCMC)的贝叶斯分析;

    GLM– Julia的广义线性模型。

    Online Learning

    GLMNet– GMLNet的Julia包装版,适合套索/弹性网模型;

    Clustering-集群数据的基本功能:K-均值,DP-均值等;

    SVM– Julia适用的SVM;

    Kernal Density– Julia的核密度估计量;

    Dimensionality Reduction-降维方法;

    NMF- 非负矩阵分解的Julia包;

    ANN- Julia人工神经网络;

    Mocha– 受Caffe启发,Julia的深度学习框架;

    XGBoost– Julia中的eXtreme Gradient Boosting 包;

    ManifoldLearning– 用于流形学习和非线性降维的Julia组件;

    MXNet-轻量级、便携式、灵活的分布式/深度学习系统,可对动态的、突变数据流调度部署,同时也支持Python、R、Julia、Go、Javascript 等编程语言。

    Merlin- 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的假设检验;

    Gadfly– Julia 灵活的统计制图法;

    Stats– Julia的统计图检验;

    RDataSets- 用于装载许多R中可用数据集的Julia包;

    DataFrames– 处理列表数据的Julia库;

    Distributions- 概率分布和相关函数的Julia包;

    Data Arrays- 允许缺失值的数据结构;

    Time Series– Julia的时间序列工具包;

    Sampling- Julia的基本采样算法。

    其他项/展示

    DSP-数字信号处理(滤波,周期图,频谱图,窗函数);

    JuliaCon Presentations– JuliaCon的演示文稿;

    SignalProcessing– Julia写的信号处理工具;

    Images– Julia的图像库。

    编译自:https://github.com/josephmisiti/awesome-machine-learning

    来源:云栖社区

    译者:刘崇鑫   校对:王殿进

    相关文章

      网友评论

        本文标题:[转]史上最全的机器学习资料

        本文链接:https://www.haomeiwen.com/subject/wjxdqxtx.html