【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

机器学习的 11 个开源项目

  • 2014-12-18
  • 本文字数:1787 字

    阅读完需:约 6 分钟

机器学习是目前数据分析领域的一个热点内容,在平时的学习和生活中经常会用到各种各样的机器学习算法。实际上,基于 Python、Java 等的很多机器学习算法基本都被前人实现过很多次了。这些算法在网上可以找到很多,然而往往存在很多“脏”或者“乱”的开源代码。

在这样的背景下, InfoWorld 近日公布了机器学习领域 11 个最受欢迎的开源项目,这 11 个开源项目大多与垃圾邮件过滤、人脸识别、推荐引擎相关。它们大多数基于现今最流行的语言以及平台,推广以及扩展了机器学习领域的很多重要算法。从中,用户不但可以找到 LDA 等主题模型,也可以找到 HMM 等隐马尔科夫模型。这些模型都是应用领域的热点,也是研究者们最需要的。

  1. Scikit-learn Scikit-learn 是一个非常强大的 Python 机器学习工具包。它通过在现有 Python 的基础上构建了 NumPy 和 Matplotlib,提供了非常便利的数学工具。这个工具包包括了很多简单且高效的工具,很适合用于数据挖掘和数据分析。

在主页中,可以看到 User Guide,这是整个机器学习的索引,其中用户可以学到各种有效的方法。在 Reference 里,用户可以找到各个类具体的用法索引。
2. Shogun Shogun 是一个基于 C++ 的最古老的机器学习开源库,它创建于 1999 年。作为一个 SWIG 库,Shogun 可以轻松地嵌入 Java、Python、C#等主流处理语言中。它的重点在于大尺度上的内核方法,特别是“支持向量机”的学习工具箱。其中,它包括了大量的线性方法,如 LDA、LPM、HMM 等等。
3. Accord Framework/AForge.net Accord 是 AForge.net 的扩展,是一个基于.Net 的机器学习与信号处理框架。它包括了一系列的对图像和音频的机器学习算法,如人脸检测、SIFT 拼接等等。同时,Accord 支持移动对象的实时跟踪等功能。它提供了一个从神经网络到决策树系统的机器学习库。
4. Mahout Mahout 是一个广为人知的开源项目,它是 Apache Software 旗下的一个开源项目,提供了众多的机器学习经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout 内包含了聚类、分类、推荐等很多经典算法,并且提供了很方便的云服务的接口。
5. MLlib MLlib 是 Apache 自己的 Spark 和 Hadoop 机器学习库,它被设计用于大规模高速度地执行 MLlib 所包含的大部分常见机器学习算法。MLlib 是基于 Java 开发的项目,同时可以方便地与 Python 等语言对接。用户可以自己设计针对 MLlib 编写代码,这是很具有个性化的设计。
6. H2O H2O 是 0xdata 的旗舰产品,是一款核心数据分析平台。它的一部分是由 R 语言编写的,另一部分是由 Java 和 Python 语言编写的。用户可以部署 H2O 的 R 程序安装包,之后就可以在 R 语言环境下运行了。H2P 的算法是面向业务欺诈活着趋势预测的,目前正在新一轮的融资中。
7. Cloudera Oryx Oryx 也是由 Hadoop 所设计的机器学习开源项目,由 Cloudera Hadoop Distribution 的创造者所提供。Oryx 能够让机器学习的模型使用在实时的数据流上,如垃圾邮件过滤等。
8. GoLearn GoLearn 是谷歌所构建的 Go 语言的一体化机器学习库,目标是简单并且可定制。Go 语言是谷歌的主打语言,目前使用已经越来越广泛。GoLearn 的简单在于数据在库内被加载和处理,因此能够可定制地扩展数据结构以源码。
9. Weka >Weka 是使用 Java 开发的用户数据挖掘的开源项目。Weka 作为一个公开的数据挖掘工作平台,集合了大量能够承担数据挖掘人物的机器学习算法,包括了对数据进行预处理、分类、回归、聚类等等。同时,Weka 实现了对大数据的可视化,通过 Java 设计的新式交互界面上,实现人与程序的交互。
10. CUDA-Convnet CUDA 是我们众所周知的 GPU 加速套件。而 CUDA-Convnet 是一个基于 GPU 加速的神经网络应用程序机器学习库。它使用 C++ 编写,并且使用了 NVidia 的 CUDA GPU 处理技术。

目前,这个项目已经被重组成为 CUDA-Convnet2,支持多个 GPU 和 Kepler-generation GPUs. Vuples 项目与之类似,使用 F#语言编写,并且适用于.Net 平台上。
11. ConvNetJS ConvNetJS 是一款基于 JavaScript 的在线深度学习库,它提供了在线的深度学习训练方式。它能够帮助深度学习的初学者更快、更加直观的理解算法,通过一些简单的 Demo 给用户最直观的解释。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2014-12-18 04:1119399
用户头像

发布了 268 篇内容, 共 118.1 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

1121212

熙羽1

Soul网关源码阅读(十)自定义简单插件编写

Java 源码阅读 网关

讨论:Service层的接口是不是多此一举?

xcbeyond

Java 接口管理 28天写作

关于Dapper实现读写分离的个人思考

yi念之间

重学JS | 玩转File API

梁龙先森

面试 大前端 编程语言 28天写作

大数据知识专栏 - MapReduce 的 Reduce端Join

小马哥

大数据 hadoop mapreduce 七日更

听了微信创始人张小龙的演讲,更加坚定Filecoin的光辉未来

时空云

分布式存储 IPFS Filecoin

TARS 染色日志|收集记录特定日志

TARS基金会

微服务 运维 日志 日志分析 TARS

HTML(五)——建立表格

程序员的时光

程序员 大前端 七日更 28天写作

阿里用5大核心技术+10大高级框架+200个经典案例全面解答了并发网络编程

996小迁

编程 架构 面试 笔记 亿级流量

区块链高水平专业人才稀缺成发展掣肘

CECBC

区块链人才

数字人民币带来更好支付体验 没有网络时也能使用

CECBC

数字人民币

虚言妙诀终虚见,面试躬行是致知,Python技术面试策略与技巧实战记录

刘悦的技术博客

Python 面试

认识产品经理(下)

让我思考一会儿

Spring Boot 中集成Redis

武哥聊编程

Java redis springboot SpringBoot 2 28天写作

干货|更通用的P2P网络协议栈——Libp2p

QTech

IPFS Libp2p

云原生的理解

JiangX

容器 云原生 数字化转型 数字化 28天写作

朋友问他是否该跳槽了?我是这么跟他说的

田维常

面试

《认识产品经理》课后总结

DB

产品经理训练营

联发科推出天玑1200,新一年的头道“5G甜点”究竟滋味如何?

脑极体

Dubbo源码解析(1)-整体框架介绍

冰三郎

源码分析 dubbo RPC

为什么Java程序会执行一段时间后跑的更快?

Java架构师迁哥

中金数据集团与腾讯云合力拓展信息安全、区块链业务领域

CECBC

区块链产业

认识产品经理(第一章上)

让我思考一会儿

区块链交易所软件开发|区块链交易所APP系统开发

系统开发

亲历者说 | 完整记录一年多考拉海购的云原生之路

阿里巴巴云原生

阿里云 容器 微服务 云原生 dubbo

Seata RPC 模块的重构之路

阿里巴巴云原生

阿里云 开源 云原生 RPC seata

Nginx实现在局域网内真正的ip_hash负载均衡​

会飞的猪

35+的测试人都去哪儿了?所谓“青春饭”真的只是在贩卖焦虑吗?

程序员阿沐

编程 程序员 软件测试 教程 测试工程师

2020出行之变(一):自动驾驶的“跃渊”时刻

脑极体

nodejs中使用worker_threads来创建新的线程

程序那些事

多线程 nodejs 并发控制 程序那些事 子线程

机器学习的11个开源项目_语言 & 开发_张天雷_InfoQ精选文章