机器学习的11个开源项目

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

机器学习是目前数据分析领域的一个热点内容,在平时的学习和生活中经常会用到各种各样的机器学习算法。实际上,基于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
相关推荐

2022-04-06 10:35:22

开源项目阿里巴巴

2020-07-07 14:15:45

开源机器学习神经网络

2018-05-07 08:29:56

机器学习开源适合

2022-11-04 08:11:25

人工智能机器学习软件

2018-12-27 14:20:52

机器学习人工智能Reddit

2020-11-13 15:29:21

机器学习数据技术

2020-05-19 09:00:26

机器学习人工智能TensorFlow

2018-07-10 08:40:36

JavaScript机器学习框架

2018-01-10 22:31:07

机器学习开源开发

2018-10-11 10:37:31

JavaScript开源 机器学习

2019-03-18 08:12:31

Javascript机器学习

2019-01-07 10:50:58

开源技术 机器学习

2017-10-19 08:32:27

机器学习网络与安全软件服务器监控软件

2017-09-18 13:05:37

深度学习人工智能开源项目

2019-09-25 10:08:16

GitHub 技术开源

2023-12-18 19:05:34

2023-06-09 10:27:13

Vue开源

2020-10-13 14:54:11

机器学习技术工具

2017-04-06 10:40:49

机器学习开源Python库

2023-05-29 08:25:28

点赞
收藏

51CTO技术栈公众号