写点什么

机器学习的 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 )关注我们,并与我们的编辑和其他读者朋友交流。

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

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

关注

评论

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

对象存储只能按文件名搜索,你out了吧

华为云开发者联盟

云计算 存储 华为云 企业号十月 PK 榜

日报周报是“毒瘤”还是“良药”?

优秀

周报 日报

React源码解读之任务调度

flyzz177

React

盘它!基于CANN的辅助驾驶AI实战案例,轻松搞定车辆检测和车距计算!

华为云开发者联盟

人工智能 华为云 辅助驾驶 企业号十月 PK 榜

开源软件供应链攻击激增430%,供应链安全不容小觑丨行业报告解读

SEAL安全

开源 DevOps 行业报告 软件供应链安全

软件测试面试真题 | MYSQL中删除语句有哪些?

测试人

sql 软件测试 面试题 测试开发

vue面试之Composition-API响应式包装对象原理

bb_xiaxia1998

Vue

请求投放个性化广告时,如何征得用户同意?

HarmonyOS SDK

广告

软件测试 | 测试开发 | 如何确保API的稳定性与正确性?你只需要这一招

测吧(北京)科技有限公司

测试

JUC中的AQS底层详细超详解

华为云开发者联盟

Java 开发 华为云 企业号十月 PK 榜

腾讯前端常考vue面试题整理

bb_xiaxia1998

Vue

长安链源码分析之交易过程分析(7)

web前端开发培训女生学习怎么样

小谷哥

高可用和负载均衡的三大区别详细讲解-行云管家

行云管家

高可用 高可用集群 ha

java培训哪家比较靠谱

小谷哥

实现Promise的原型方法--前端面试能力提升

helloworld1024fd

JavaScript

阿里云移动测试-远程真机篇

移动研发平台EMAS

性能测试 app测试 移动测试 远程真机

前端培训机构包就业靠谱吗?

小谷哥

百度搜索业务交付无人值守实践与探索

百度Geek说

Pytho 企业号十月 PK 榜 智能测试

学会这10种定时任务,我有点飘了

小小怪下士

Java 程序员

长安链源码分析之交易过程分析(8)

Springboot 一行代码实现文件上传 20个平台!少写代码到极致

程序员小富

Java springboot 文件上传

深度解析9种ScheduledThreadPoolExecutor的构造方法

华为云开发者联盟

高并发 开发 华为云 源代码 企业号十月 PK 榜

前端高频手写面试题

helloworld1024fd

JavaScript

大数据培训学习就业难吗

小谷哥

java开发培训机构要怎么谨慎选择

小谷哥

React源码解读之React Fiber

flyzz177

React

【1024】程序员节丨致敬所有技术布道师

MobTech袤博科技

1024程序员节 MobTech袤博科技

RocketMQ Flink Catalog 设计与实践

阿里云大数据AI技术

sql 大数据 flink 分布式计算 企业号十月PK榜

2022 XDR网络安全运营新理念峰会完整嘉宾阵容公布!

未来智安XDR SEC

网络安全

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