`
jjfat
  • 浏览: 284014 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

充分利用机器学习的十一个开源工具

 
阅读更多

垃圾邮件过滤、面部识别、推荐引擎——当你有一个大数据集,你想要进行预测分析或模式识别时,机器学习是一种方法。自由开源软件的普及使得机器学习更容易在单台机器和规模上实现,并且在大多数流行的编程语言中也能实现。这11个开源工具包括了Python、R、c++、Java、Scala、Clojure、JavaScript和Go等的库。

 

 

 


 

Scikit-learn

Python已经成为数学、科学和统计方面的首选编程语言,因为它易于采用,而且几乎任何应用程序都可以使用这些库。scikit- learn通过在几个现有的Python包——numpy、SciPy和matplotlib——上构建数学和科学工作,利用了这一广度。生成的库可以用于交互式的“工作台”应用程序,或者嵌入到其他软件中并重新使用。该工具包在BSD许可下可用,因此它是完全开放和可重用的。

Project: scikit-learn

GitHub:https://github.com/scikit-learn/scikit-learn

 

Shogun(幕府)

尊敬的Shogun创建于1999年,并以c++编写,但可以使用Java、Python、c#、Ruby、R、Lua、Octave和Matlab。最新的版本是6.0.0,增加了对Microsoft Windows和Scala语言的本机支持。虽然广受欢迎,但Shogun却有竞争。另一个基于c++的机器学习库MLpack,自2011年以来就一直在使用,但是它声称比竞争库更容易使用(通过更完整的API集)。

Project:Shogun

GitHub:https://github.com/shogun-toolbox/shogun

 

Accord.Net Framework

Accord,机器学习和信号处理框架。.Net是之前一个项目的扩展,协议包括一组用于处理音频信号和图像流的库(如视频)。它的视觉处理算法可以用于人脸检测、拼接图像或追踪移动对象等任务。协议还包括提供更传统的机器学习功能的库,从神经网络到决策树系统。

Project:Accord.Net Framework

GitHub:https://github.com/accord-net/framework/

 

Apache Mahout

Apache Mahout长期以来与Hadoop捆绑在一起,但它旗下的许多算法也可以在Hadoop之外运行。它们对于独立应用程序非常有用,这些应用程序最终可能会迁移到Hadoop或Hadoop项目中,这些项目可能会被拆分为独立的应用程序。最后几个版本增强了对高perfomance Spark框架的支持,并增加了对GPU加速线性代数的ViennaCL库的支持。

Project:Apache Mahout

官网:https://mahout.apache.org/

 

Spark MLlib

MLlib是Apache Spark和Apache Hadoop的机器学习库,它拥有许多常见的算法和有用的数据类型,设计以速度和规模运行。尽管Java是在MLlib工作的主要语言,Python用户可以将MLlib与NumPy库连接起来,Scala用户可以编写针对MLlib的代码,并且R用户可以在1.5版中插入Spark。另一个项目,MLbase,建立在MLlib之上,使其更容易获得结果。用户不需要编写代码,而是通过一种声明式语言à la来进行查询。

Project:Spark MLlib

官网:https://spark.apache.org/mllib/

 

H2O

未命名1511147383.png

H2O的算法主要针对业务流程——比如欺诈或趋势预测——而不是图像分析。H2O可以以独立的方式与HDFS存储、在YARN、MapReduce中,或者直接在Amazon EC2实例中交互。Hadoop mavens可以使用Java与H2O进行交互,但该框架还为Python、R和Scala提供了绑定,允许您与这些平台上的所有库交互。

Project:H2O

GitHub:https://github.com/0xdata/h2o

 

Cloudera Oryx

未命名1511147392.png

Oryx是Cloudera Hadoop发行版的创建者,它使用Spark和Kafka流处理框架来运行实时数据的机器学习模型。Oryx提供了一种方法来构建需要决策的项目,比如推荐引擎或实时异常检测,这些都是由新的和历史数据提供的。版本2.0是对项目的近乎完全的重新设计,其组件在lambda体系结构中松散耦合。新的算法,以及这些算法的新抽象,对于超参数选择,可以随时添加。

Project:Cloudera Oryx

GitHub:https://github.com/cloudera/oryx

 

GoLearn

未命名1511147400.png

据开发人员斯蒂芬·惠特沃斯(Stephen Whitworth)说,GoLearn是一个为谷歌的Go语言学习的机器学习库,它的目标是简单和可定制。它的简单性在于数据在库中加载和处理的方式,这种方式是在SciPy和R语言之后进行的,而定制的功能在于如何在应用程序中轻松地扩展某些数据结构。惠特沃斯还为Vowpal Wabbit库创建了一个Go包装器,这是在Shogun工具箱中发现的一个库。

Project:GoLearn

GitHub:https://github.com/sjwhitworth/golearn

 

Weka

未命名1511147408.png

Weka是一组专门用于数据挖掘的Java机器学习算法。这个GNU gplv3许可的集合有一个包系统来扩展它的功能,包括官方的和非官方的软件包。Weka甚至还带了一本书来解释软件和使用的技术。虽然Weka并没有专门针对Hadoop用户,但由于一组包装器,最新的版本可以与Hadoop一起使用。注意,Weka还不支持Spark,只有MapReduce。Clojure用户可以通过clj - ml库利用Weka。

Project:Weka

官网:http://www.cs.waikato.ac.nz/ml/weka/

 

Deeplearn.js

未命名1511147417.png

在web浏览器中深度学习的另一个项目,Deeplearn.js,通过谷歌来实现。神经网络模型可以直接在任何现代浏览器中进行训练,而不需要额外的客户端软件。Deeplearn.js还可以通过WebGL API进行gpu加速计算,因此性能并不局限于系统的CPU。项目中可用的函数是在谷歌的TensorFlow之后形成的,这使得该项目的用户可以轻松地开始使用这个项目。

Project:Deeplearn.js

官网:https://pair-code.github.io/deeplearnjs/

 

ConvNetJS

未命名1511147424.png

顾名思义,ConvNetJS是一个用于神经网络机器学习的JavaScript库,便于使用浏览器作为数据工作台。对于使用节点的用户,也可以使用NPM版本。js和库的设计是为了正确使用JavaScript的异步性。例如,培训操作一旦完成就可以执行回调。还包括了大量的演示示例。

Project:ConvNetJS

GitHub:https://github.com/karpathy/convnetjs

 

 

原    文: 11 open source tools to make the most of machine learning
0
0
分享到:
评论

相关推荐

    OpenMLDB是一个开源机器学习数据库,面向机器学习应用提供正确、高效数据供给OpenMLDB-main.zip

    OpenMLDB是一个专注于机器学习领域的开源数据库,它的主要目标是为各类机器学习应用程序提供准确且高效的数据支持。作为一款专为机器学习设计的数据库,OpenMLDB具备一系列独特的特性和功能,使其在处理大规模机器...

    降低机器学习门槛的六大工具.pdf

    本文将介绍六种降低机器学习门槛的工具,这些工具使得即使没有编程背景的用户也能利用机器学习技术解决问题。这些工具包括: 1. **AutoML**:自动化机器学习工具,通过自动测试和调优算法参数,降低了机器学习的...

    15个开源的顶级人工智能工具

    SystemML由IBM提供,它是一个面向大规模数据集的机器学习算法,旨在充分利用多核CPU和集群计算资源,实现大数据的高效处理。 14. TensorFlow TensorFlow是由谷歌开发的一个开源机器学习库,目前已成为业界最受欢迎...

    Python-SQLflow基于python开发的分布式机器学习平台支持通过写sql的方式运行spark机器学习算法爬虫

    Python-SQLflow是一款创新的工具,它将Python的便利性和SQL的强大功能结合在一起,为数据科学家和工程师...对于想要在Python环境中使用SQL进行机器学习和数据处理的用户来说,SQLflow无疑是一个值得探索和使用的工具。

    hadoop+spark机器学习实例

    通过学习和实践这些示例,你可以了解到如何在Hadoop和Spark环境下搭建和运行机器学习项目,理解如何利用这两个强大的工具进行数据处理、特征提取、模型训练和验证。这不仅有助于提升大数据处理技能,还能为未来的...

    机器学习平台

    在Windows操作系统下,可以选择64位版本的JDK和JRE,以充分利用多核处理器和大内存的优势,这对于处理大规模数据和复杂的机器学习任务至关重要。 在构建机器学习平台时,Java工具如Apache Maven、Gradle等项目管理...

    Python-TalkingData开源大规模机器学习算法库Fregata

    在Python开发领域,尤其是在机器学习这一分支中,有一个值得关注的开源项目——Fregata。由 TalkingData 推出的Fregata是一个专为大规模机器学习设计的算法库,旨在解决在海量数据上的高效计算和模型训练问题。本文...

    机器学习框架techstar-ai-master.zip_AI学习_KRJZ_armynop_机器学习_框架

    同时,techstar-ai充分利用大数据处理的优势,能有效处理大规模数据集,提高了机器学习的效率和准确性。 在techstar-ai框架中,关键组件包括数据预处理模块、模型构建模块、训练模块和评估模块。数据预处理模块提供...

    用于机器学习、深度学习和数学的交互式工具___下载.zip

    本资源提供了一个名为"Interactive_Tools-master"的压缩包,很可能包含了若干用于这些目的的开源工具或库。 在机器学习中,交互式工具通常包含数据可视化、模型训练和评估等功能。例如,它可能包括像Jupyter ...

    JSATJava的统计分析工具一个用于机器学习的Java库

    5. **医疗诊断**:利用机器学习方法辅助医生进行疾病诊断。 总之,JSATJava作为一款强大的机器学习库,提供了全面的数据预处理工具和多样化的算法,支持多线程处理,使得开发者能在Java环境中高效地进行机器学习...

    亚马逊机器学习库

    亚马逊机器学习库,名为"Amazon DSSTNE"(Deep Scalable Sparse Tensor-Network Engine),是亚马逊公司为了应对大规模机器学习任务而开发的一个开源库。DSSTNE的核心目标是处理高维度、稀疏数据,尤其适合电子商务...

    本项目开发了一个机器学习和深度学习的训练工具。该训练工具基于sklearn和pytorch,.zip

    在本项目中,开发者创建了一个综合的机器学习和深度学习训练工具,该工具结合了sklearn与PyTorch两个强大的库。这样的设计旨在提供一个高效、灵活且易于使用的平台,帮助数据科学家和研究人员进行模型训练和优化。接...

    机器学习初步——TensorFlow在Linux操作系统下安装的整个过程(包括IDE)

    在机器学习领域,TensorFlow是一个不可或缺的工具,它是一个基于数据流编程的开源库,用于构建和训练复杂的机器学习模型。TensorFlow源自谷歌的DistBelief项目,旨在提供更加高效和灵活的平台,支持各种机器学习算法...

    Tensorflow深度学习框架中文详解,一个开源的基于python的机器学习框架

    TensorFlow是一个由Google Brain团队研发的强大机器学习平台,自发布以来迅速成为业界最受欢迎的深度学习框架之一。作为一个开源项目,TensorFlow不仅具备高性能的计算能力,还拥有丰富的功能集,支持多种编程语言和...

    机器学习中的人脸识别demo

    OpenCV(开源计算机视觉库)是一个强大的工具,支持多种计算机视觉和图像处理任务。 首先,我们要理解人脸识别的基本流程。它通常包括人脸检测、特征提取和匹配三个步骤。在这个demo中,可能使用预训练的人脸检测...

    TensorFlow机器学习、深度学习.zip

    在机器学习和深度学习领域,TensorFlow是一个广泛使用的开源库,由谷歌大脑团队开发并维护。这个名为"TensorFlow机器学习、深度学习.zip"的压缩包可能包含了关于使用TensorFlow进行机器学习和深度学习的教程、代码...

    Apache TVM 是一个机器学习编译器框架

    通过这种方式,TVM 能够充分利用硬件资源,减少内存访问,提升计算效率。 在 CPU 上,TVM 使用自动调度工具来探索最佳的计算和内存访问模式。它支持多线程并行化和向量化,以利用现代多核处理器的性能潜力。对于 ...

    谷歌TensorFlow机器学习框架及应用.pptx

    TensorFlow是谷歌开发的一款开源机器学习框架,它采用数据流图(Data Flow Graph)的方式描述计算过程,能够高效地处理大规模数据。TensorFlow支持CPU和GPU加速,同时也提供了多种编程语言接口,如Python、C++、Java...

Global site tag (gtag.js) - Google Analytics