机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及几率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,从新组织已有的知识结构使之不断改善自身的性能。机器学习牵涉的编程语言十分之广,包括了MATLAB、Julia、R、Perl、Python、Clojure、Ruby等等。
为了让开发者更加普遍、深刻地了解机器学习,云栖社区组织翻译了GitHub Awesome Machine Learning 资源,涵盖24种编程语言的机器学习的框架、库以及其余相关资料。
目录
Cphp
通用机器学习html
- Recommender - 一个C语言库,利用协同过滤(CF)进行产品推荐/建议;
- Darknet -是一个用C和CUDA编写的开源神经网络框架,它速度快,易于安装,并支持CPU和GPU计算。
计算机视觉java
- CCV -基于C语言、高速缓存的核计算机视觉库,是一个现代化的计算机视觉库;
- VLFeat -开放、可便携的计算机视觉算法库,内有matlab工具箱。
语音识别node
- HTK -隐马尔可夫模型工具包(HTK)是一个便携式工具包,用于构建和操做隐马尔可夫模型。
C++python
计算机视觉git
- OpenCV -OpenCV自带C ++、C、Python、Java和MATLAB接口,并支持Windows、Linux、Android版和Mac OS等系统;
- DLib -DLib有C ++和Python接口,用于人脸检测和训练通用的目标探测器;
- EBLearn -Eblearn是一种面向对象的C++库,可以实现各类机器学习模型;
- VIGRA -VIGRA是通用跨平台的C++计算机视觉和机器学习库,可以用Python绑定任意维度的体积。
通用机器学习github
天然语言处理正则表达式
语音识别算法
- Kaldi -Kaldi是用于语音识别的工具包,用C++编写,由Apache许可证V2.0协议受权,专门给语音识别的研究人员使用。
序列分析
- ToPS -这是一种面向对象的框架,便于在用户定义的字母序列中整合几率模型。
手势检测
- grt -手势识别工具包(GRT)是一个跨平台、开源的C++机器学习库,用于实时的手势识别。
Common Lisp
通用机器学习
Clojure
天然语言处理
通用机器学习
- 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 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 等编程语言。
数据分析/数据可视化
Haskell
通用机器学习
Java
天然语言处理
通用机器学习
- 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 语音识别库,用于纯语音识别开源工具包。
数据分析/数据可视化
深度学习
数 Javascript
天然语言处理
数据分析/数据可视化
通用机器学习
其它
Julia
通用机器学习
天然语言处理
数据分析/数据可视化
其余项/展现
以上为“史上最全机器学习资料(上)”的所有内容,敬请期待下一节。
译者:刘崇鑫 校对:王殿进