写点什么

机器学习的 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:1119982
用户头像

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

关注

评论

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

被VMware SNS“绑架”的旧设备:每年百万“租金”付得值吗?

智驱前线

AI英语陪练APP的开发

北京木奇科技有限公司

软件外包公司 AI英语学习 AI技术应用

构建基于YashanDB的实时数据分析系统教程

数据库砖家

高级模糊测试技术:挖掘隐藏端点的漏洞挖掘实战

qife122

网络安全 模糊测试

第十一届建筑、土木与水利工程国际学术会议(ICACHE 2025)

搞科研的小刘

国际学术会议 土木与水利 马来西亚

flyway报错Caused by: org.flywaydb.core.api.FlywayException: Validate failed: Detected failed migration

刘大猫

人工智能 算法 智慧城市 智慧交通 大模型

基于YOLOv8的鸟类智能识别系统设计与实现

申公豹

人工智能

2025 年黑龙江等保测评周期新规解析:变化趋势与企业应对指南

等保测评

大数据-94 Spark核心三剑客:RDD、DataFrame、Dataset与SparkSession全面解析

武子康

Java 大数据 flink spark 分布式

1688商品详情API技术深度解析:从接口架构到数据融合实战

tbapi

1688API 1688数据采集 1688商品详情API 1688数据分析

鸿蒙应用开发从入门到实战(二):DevEco Studio工具安装

程序员潘Sir

鸿蒙 程序员 前端开发 HarmonyOS HarmonyOS NEXT

高效掌握YashanDB事务一致性保障技术

数据库砖家

使用GoLang执行Shellcode的技术解析

qife122

golang 渗透测试

第六届机器学习与计算机应用国际学术会议

搞科研的小刘

机器学习 学术会议 中国深圳

MCP 是为开发者设计的工具,而非为 LLM 而设

Baihai IDP

AI AI 智能体 MCP

LED股票市场即时信息屏

Dylan

股票 LED LED display LED显示屏 LED屏幕

聚焦结构化注意力,探索提升多模态大模型文档问答性能

vivo互联网技术

人工智能 结构化 文档理解 注意力 多模态大语言模型

构建高可用YashanDB数据库架构的实战经验

数据库砖家

利用废弃硬件中的零日漏洞:从Netgear路由器到BitDefender盒子的攻击链分析

qife122

漏洞利用 固件分析

黑龙江等保测评时间周期深度解读:从频率到流程全掌握

等保测评

管理YashanDB用户权限的最佳实践与注意事项

数据库砖家

合理倍率,YashanDB数据库的计算效率提升

数据库砖家

企业内部沟通软件BeeWorks-私有化部署的企业内部沟通软件

BeeWorks

即时通讯 IM 私有化部署

AI在英语培训中的应用

北京木奇科技有限公司

AI技术开发 软件外包公司 AI英语学习

解决方案 | 数据堂垂域大模型数据服务能力解读

数据堂

人工智能 数据标注 大模型 数据服务 垂域大模型

高效利用YashanDB实现复杂数据关系管理

数据库砖家

利用Ampere Altra与SpinKube实现可扩展工作流的突破性实践

qife122

云原生 webassembly

Cloud Foundation Kit启动预加载,赋能喜马拉雅秒启秒开流畅体验

HarmonyOS SDK

聚焦主责主业 绘就绿水青山新画卷

最新动态

低代码流程管理必看!JNPF 新手也能 10 分钟上手

引迈信息

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