当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]随着机器学习越来越受到开发者关注,出现了很多机器学习的开源项目,在本文列举的11个机器学习开源项目中,无论你是Java爱好者还是Python狂人,在这里你都可以找到自己想要

随着机器学习越来越受到开发者关注,出现了很多机器学习的开源项目,在本文列举的11个机器学习开源项目中,无论你是Java爱好者还是Python狂人,在这里你都可以找到自己想要的机器学习开源项目。

垃圾邮件过滤、人脸识别、推荐引擎——当你有一个大数据集并且希望利用它们执行预测分析和模式识别,机器学习是必经之路。这门科学,计算机可以在没有事先规划的前提下自主学习、分析和操作数据,现在越来越多的开发人员关注机器学习。

机器学习技术的兴起不仅是因为硬件成本越来越便宜以及性能越来越强大,促使机器学习在单机或大规模集群上轻松部署的免费软件激增也是重要因素。机器学习库的多样性意味着无论你喜欢什么语言或环境,都有可能是获得你喜欢的。

1. Scikit-learn

Python由于其易用性以及丰富的函数库,已经成为数学、自然科学和统计学的首选编程语言。Scikit-learn通过在现有Python包上构建——NumPy SciPy和matplotlib——服务于数学和自然科学。生成的库要么可以使用交互式“工作台”应用程序,要么被嵌入到其他软件和重用。工具箱可以在BSD许可下获取,所以它是完全开放和可重用的。

2. Shogun

在最古老、最值得尊敬的机器学习库中,Shogun创建于1999年,用C++编写,但并不限于在C++工作。由于SWIG库,Shogun可以轻松在Java、Python、C#、Ruby、R、Lua、Octave、Matlab语言和环境下使用。

虽然德高望重,Shogun也有其他的竞争者。另一个基于C++的机器学习库Mlpack在2011年出现,它宣称比其他竞争者速度更快并且更容易使用(一个更完整的API集)。

3. Accord Framework/AForge.net

Accord,一个.Net的机器学习和信号处理框架,是早前类似一个项目AForge.net的扩展。顺便说一下,“信号处理”这里是指一系列对图像和音频的机器学习算法,如图片无缝缝合或执行人脸检测。包含一组视觉处理算法;它作用于图像流(如视频),并且可用于实现移动对象的跟踪等功能。Accord还提供一个从神经网络到决策树系统的机器学习常见库。

4. Mahout

Mahout框架一直与Hadoop相关联,但旗下很多算法还可以脱离Hadoop运行。他们对那些可能最终迁移到Hadoop上的应用程序或从Hadoop上剥离成为独立应用程序的项目非常有用。

Mahout缺点之一:目前几乎没有算法支持高性能的Spark框架,反而使用日益过时的MapReduce框架。该项目目前不接受基于MapReduce的算法,那些想要获得更高性能的开发者转而用MLlib 替代。

5. MLlib

Apache自己的Spark和Hadoop机器学习库,旨在为大规模和高速度而设计的MLlib自称拥有所有常见的算法和有用数据类型。与任何Hadoop项目一样,Java是MLlib上的基本语言,但是Python用户可以用MLlib NumPy库连接(也用于scikit-learn),并且Scala用户可以针对MLlib编写代码。如果不能设置一个Hadoop集群,MLlib可以在没有Hadoop的情况下部署在Spark上——以及在EC2或Mesos上。

6. H2O

0xdata H2O的算法是面向业务流程——欺诈或趋势预测。Hadoop专家可以使用Java与H2O相互作用,但框架还提供了对Python、R以及Scala的捆绑。

7. Cloudera Oryx

另一个为Hadoop设计的机器学习项目Oryx由?Cloudera Hadoop distribuTIon?创造者提供。Oryx是为了允许机器学习模型部署在实时流数据上而设计的,如实时垃圾邮件过滤器或推荐引擎。

该项目的全新版本暂时定名为Oryx 2,目前正在准备阶段。它使用Apache项目如Spark 和 Kafka实现更高性能,其组件构建走松散耦合路线以便能经得住时间考验。

8. GoLearn

谷歌的Go语言已经开始被广泛使用,随着库越来越多,据其开发者Stephen Witworth介绍,GoLearn被构建为Go语言的一体化的机器学习库,目标是“简单可定制”。简单主要是由于数据在库内被加载和处理,因为它是仿照SciPy 和R;可定制性在于库的开放源码特性以及一些数据结构可以很容易地在一个应用程序中扩展。Witworth也为Vowpal Wabbit库创建了一个包装器,其中一个库存放在Shogun工具箱中。

9. Weka

Weka是新西兰Waikato大学开发的,收集一组专门为数据挖掘设计的Java机器学习算法。这组GNU得到 GPLv3许可的集有一个包系统扩展其功能,有官方和非官方包两种。Weka甚至还有专门一本书解释其软件和实战技术,所以那些想要在概念和软件上取得优势的开发者可以关注下。

虽然Weka并不是专门针对Hadoop用户,但是Weka的最新版本的一组封装器可以用于Hadoop。请注意,它还不能支持Spark,只有MapReduc。Clojure用户还可以通过?Clj-ml??库利用Weka。

10. CUDA-Convnet

现在大多数人都知道GPU在处理某些问题上的速度比CPU快。但应用程序不会自动利用GPU的加速功能;他们必须明确通过程序写入。CUDA-Convne是一个神经网络应用程序机器学习库,用C++编写来开发Nvidia的CUDA GPU处理技术。对于那些使用Python而不是C++用户,由此产生的神经网络可以保存为Python pickle对象,因此可以从Python存取。

注意,原始版本的项目不再被开发,但是已经被重组为CUDA-Convnet2,支持多个GPU和Kepler-generaTIon GPU。与之类似的项目Vulpes,已经用F#编写,并且通常和.Net框架一起使用。

11. ConvNetJS

顾名思义,ConvNetJS 是一个基于 js 的深度学习 library,可以让你在浏览器中训练深度网络。NPM版本也可用于那些使用Node.js的用户,并且这个库也是为合理使用JavaScript的异步性而设计,例如,一旦他们完成训练操作可以给出一个回调函数来执行。里面还包含大量的演示案例。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭