当前位置: 首页 > 科技观察

11个机器学习开源项目

时间:2023-03-15 15:55:10 科技观察

机器学习是目前数据分析领域的热门话题,各种机器学习算法在日常学习和生活中经常用到。其实很多基于Python、Java等的机器学习算法,前人基本都实现过很多次了。这些算法很多都可以在互联网上找到,但往往有很多“脏”或“乱”的开源代码。在此背景下,InfoWorld近日公布了机器学习领域的11个顶级开源项目,其中大部分与垃圾邮件过滤、人脸识别、推荐引擎相关。它们大多基于当今最先进的语言和平台,推动和扩展了机器学习领域的许多重要算法。从中,用户不仅可以找到LDA等主题模型,还可以找到HMM等隐马尔可夫模型。这些模型是应用领域的热点,也是研究人员最需要的。Scikit-learnScikit-learn是一个非常强大的Python机器学习工具包。它通过在现有Python的基础上构建NumPy和Matplotlib,提供了非常方便的数学工具。这个工具包包括许多简单高效的工具,非常适合数据挖掘和数据分析。在首页可以看到用户指南,它是整个机器学习的索引,用户可以在这里学习各种行之有效的方法。在Reference中,用户可以找到各个类的具体使用索引。ShogunShogun是最古老的基于C++的机器学习开源库之一,它创建于1999年。作为一个SWIG库,Shogun可以很容易地嵌入到Java、Python和C#等主流处理语言中。它的重点是大规模核方法,特别是“支持向量机”的学习工具箱。其中包括大量的线性方法,如LDA、LPM、HMM等。AccordFramework/AForge.netAccord是AForge.net的扩展,AForge.net是一个基于.Net的机器学习和信号处理框架。它包括一系列针对图像和音频的机器学习算法,例如人脸检测、SIFT拼接等。同时,雅阁还支持实时追踪移动物体等功能。它提供了从神经网络到决策树系统的机器学习库。MahoutMahout是一个著名的开源项目。它是ApacheSoftware下的一个开源项目。它提供了很多经典机器学习算法的实现,旨在帮助开发者更方便快捷地创建智能应用。Mahout包含了聚类、分类、推荐等众多经典算法,为云服务提供了非常方便的接口。MLlibMLlib是Apache自己的Spark和Hadoop机器学习库,旨在大规模、高速地执行MLlib中包含的大多数常见机器学习算法。MLlib是一个基于Java开发的项目,可以方便的与Python等语言对接。用户可以自己为MLlib设计和编写代码,这是一种非常人性化的设计。H2OH2O是0xdata的旗舰产品,是核心数据分析平台。其中一部分是用R语言编写的,另一部分是用Java和Python语言编写的。用户可以部署H2O的R程序安装包,然后在R语言环境中运行。H2P的算法定位于预测商业欺诈和趋势,目前正在进行新一轮融资。ClouderaOryxOryx也是一个由Hadoop设计的开源机器学习项目,由ClouderaHadoopDistribution的创建者提供。Oryx使机器学习模型能够用于实时数据流,例如垃圾邮件过滤。GoLearnGoLearn是Google为Go语言构建的一体化机器学习库,其目标是简单和可定制。Go语言是谷歌的主力语言,使用范围越来越广。GoLearn的简单性在于数据在库中加载和处理,因此可以自定义扩展数据结构和源代码。Weka>Weka是一个用Java开发的用于用户数据挖掘的开源项目。Weka作为一个开放的数据挖掘工作平台,汇集了大量可以承担数据挖掘作用的机器学习算法,包括数据预处理、分类、回归、聚类等。同时,Weka实现了大数据的可视化。数据,通过Java设计的全新交互界面,实现人与程序的交互。CUDA-ConvnetCUDA是我们众所周知的GPU加速套件。CUDA-Convnet是一个用于神经网络应用程序的GPU加速机器学习库。它使用C++编写,并使用NVidia的CUDAGPU处理技术。目前这个项目已经重组为CUDA-Convnet2,支持多GPU和开普勒一代GPU。Vuples项目类似,用F#语言编写,适用于.Net平台。ConvNetJSConvNetJS是一个基于JavaScript的在线深度学习库,提供在线深度学习训练方法。可以帮助深度学习初学者更快、更直观地理解算法,通过一些简单的demo给用户最直观的讲解。