0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

让机器学习更容易的14种自由开源软件工具

如意 来源:今日头条 作者:云智时代 2020-09-29 15:00 次阅读

通过一些易于实现的多样化库和框架能够充分挖掘机器学习的预测能力。垃圾邮件过滤,面部识别,推荐引擎等等。当你要对大型数据集执行预测分析或模式识别时,机器学习都是必经之路。

自由开源软件的激增,让机器学习更容易在单机上大规模地通过大多数流行的编程语言实现。以下这些开源工具包括了适用于Python,R,C ++,Java,Scala,Clojure,JavaScript和Go之类的库。

Apache Mahout

Apache Mahout提供了一种构建用于托管机器学习应用程序环境的方法,该环境可以快速有效地扩展来满足需求。

Mahout主要与Apache Spark一起工作,最初是为了运行分布式应用程序而设计,可以与Hadoop一起使用,但现在已扩展为与Flink和H2O等其他分布式后端一起使用。

Mahout在Scala中使用了一种域特定语言。版本0.14是对该项目做了主要内部重构,默认基于Apache Spark 2.4.3。

Compose

Compose针对机器学习模型的一个常见问题,即标记原始数据,这可能是一个缓慢而乏味的过程,但没有它,机器学习模型就无法提供有用的结果。

通过Compose,用户可以使用Python为数据编写一组标记功能,因此可以通过编程方式进行标记。可以在数据上设置各种变换和阈值,以简化标记过程。

Core ML Tools

Apple的Core ML框架能够让用户将机器学习模型集成到应用程序中,但使用其自己独特的学习模型格式。但幸运的是,不必以Core ML格式预先训练模型就能使用它们;可以使用Core ML Tools将几乎所有常用的机器学习框架中的模型转换为Core ML。

Core ML Tools作为Python包运行,因此与大量的Python机器学习库和工具集成在一起。TensorFlow,PyTorch,Keras,Caffe,ONNX,Scikit-learn,LibSVM和XGBoost的模型都可以转换。神经网络模型还可以通过使用训练后量化来优化大小。

Cortex

Cortex提供了一种方便的方法来使用Python和TensorFlow,PyTorch,Scikit-learn和其他模型提供来自机器学习模型的预测服务。大多数Cortex软件包仅包含几个文件,即你的核心Python逻辑,描述要使用的模型,以及要分配的计算资源类型的cortex.yaml文件,以及用于安装任何所需Python要求的require.txt文件。

整个程序包作为Docker容器部署到AWS或另一个与Docker兼容的托管系统。计算资源的分配方式与在Kubernetes中使用的定义相呼应,因此你可以使用GPU或Amazon Inferentia ASIC加快服务速度。

Featuretools

特征工程或特征创建涉及获取用于训练机器学习模型的数据,并通常手动生成数据的经过转换和聚合的版本,这对于训练模型更为有用。

Featuretools为用户提供了通过综合数据帧中的数据而构建的高级Python对象来执行此操作的功能,并且可以针对从一个或多个数据帧中提取的数据执行此操作。Featuretools还为综合操作提供了通用原语(例如,time_since_previous提供带时间戳数据实例之间的时间间隔),因此用户不必自己滚动这些原语。

GoLearn

GoLearn是针对Google Go语言的机器学习库,其创建的目标是简化和可定制性。简单之处在于在库中加载和处理数据的方式,该方式在SciPy和R之后进行了模式化。可定制性在于如何在应用程序中轻松扩展某些数据结构。

Gradio

构建机器学习应用程序时的一个常见挑战是为模型训练和预测服务机制构建可靠且易于定制的UI。Gradio提供了用于创建基于Web的UI的工具,这些工具让用户可以与模型进行实时交互。

其中包括几个示例项目,例如Inception V3图像分类器的输入接口或MNIST手写识别模型,让用户对如何在自己的项目中使用Gradio有所了解。

H2O

H2O目前正在进行第三次大修订,它为内存中的机器学习提供了一个完整的平台,从训练到服务预测。H2O的算法适合于业务处理——比如欺诈或趋势预测——而不是图像分析。H2O可以独立地与HDFS store交互,在YARN之上,在MapReduce中,或者直接在Amazon EC2实例中。

Hadoop专家可以使用Java与H2O进行交互,但是该框架还提供了针对Python,R和Scala的绑定,从而让用户也可以与这些平台上可用的所有库进行交互。还可以使用REST调用,将H2O集成到大多数管道中。

Oryx

由Cloudera Hadoop发行版的创建者提供的Oryx,使用Apache Spark和Apache Kafka在实时数据上运行机器学习模型。Oryx提供了一种构建项目的方式,这些项目需要立即做出决定,例如推荐引擎或实时异常检测,这些都可以通过新数据和历史数据获得通知。

版本2.0对该项目几乎进行了完全重新设计,其组件以lambda架构松散耦合。可以随时添加新算法和这些算法的新抽象(例如,用于超参数选择)。

PyTorch Lightning

当功能强大的项目流行时,通常会辅以易于使用的第三方项目。PyTorch Lightning为PyTorch提供了组织包装,因此用户可以专注于重要的代码,而不必为每个项目编写样板。

PyTorch Lightning使用基于类的结构,因此PyTorch项目的每个常见步骤都封装在类方法中。训练和验证循环是半自动化的,因此你只需要为每个步骤提供逻辑即可。在多个GPU或不同的硬件组合中设置训练结果也更加容易,因为这样做的指令和对象引用是集中的。

Scikit-learn

由于Python易于采用且几乎适用于所有应用程序的库的广泛性,它已成为数学科学和统计学的首选编程语言。Scikit-learn通过在几个现有的Python软件包(NumPy,SciPy和Matplotlib)之上构建数学和科学工作来利用这一广度。

生成的库可用于交互式“工作台”应用程序或嵌入到其他软件中并重新使用。该套件可通过BSD许可获得,因此它是完全开放的,并且可重复使用。

Shogun

Shogun是这个工具中时间最长的项目之一。它创建于1999年,用C ++编写,但是可以与Java,Python,C#,Ruby,R,Lua,Octave和Matlab一起使用。最新的主要版本6.0.0增加了对微软Windows和Scala语言的本机支持。

虽然广受欢迎,范围广泛,但Shogun也有竞争对手。另一个基于c++的机器学习库Mlpack是在2011年才出现的,但是它声称比其他库更快、更容易使用(通过一个更完整的API集)。

Spark MLlib

MLlib是Apache Spark和Apache Hadoop的机器学习库,拥有许多常用算法和有用的数据类型,能够快速,大规模地运行。尽管Java是在MLlib中工作的主要语言,但是Python用户可以将MLlib与NumPy库连接,Scala用户可以针对MLlib编写代码,而R用户可以从1.5版开始插入Spark。

MLlib的版本3专注于使用Spark的DataFrame API(与较早的RDD API相对),并提供了许多新的分类和评估功能。

另一个项目,MLbase,建立在MLlib的顶部,以使其更容易得出结果。用户无需编写代码,而是使用SQL的声明性语言进行查询。

Weka

由Waikato大学的机器学习小组创建的Weka被称为“无需编程的机器学习”。这是一个GUI工作台,数据科学家无需编写代码即可组装机器学习管道,训练模型和运行预测。

Weka直接与R,Apache Spark和Python合作,后者通过直接包装或通过通用数值库(如NumPy,Pandas,SciPy和Scikit-learn)的接口进行工作。Weka的一大优势在于,它为工作的各个方面提供了可浏览的友好界面,包括包装管理,预处理,分类和可视化。
责编AJX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3438

    浏览量

    92303
  • 机器学习
    +关注

    关注

    66

    文章

    8088

    浏览量

    130507
  • 开源工具
    +关注

    关注

    0

    文章

    26

    浏览量

    4384
收藏 人收藏

    评论

    相关推荐

    开源项目!教你如何复刻自平衡赛车机器人、智能家居中控、竞技机器人先进模糊控制器等

    开源项目作品 为了方便大家更好提升自己,电子发烧友小编为大家整理了一些工程师大佬设计的开源项目作品,供大家可以参考学习,希望对广大工程师有所帮助。 1.用全志R128复刻自平衡赛车机器
    发表于 12-26 09:17

    开源作品!稚晖君超迷你低成本开发板、超酷机器人、智能手环等参考方案

    复合机器人 本项目中,履足式复合机器人拥有两行进模式:四足行进模式、履带行进模式,应对不同场景及地形时能够切换形态。四足形态下整体总共拥有8个自由度DOF,单腿各具备2个
    发表于 12-12 10:28

    盘点国内外免费SCADA软件工具

    随着工业自动化的飞速发展,SCADA系统已经成为工业领域智能化转型绕不开的重要工具,不少个人和公司也都加入到了学习研究SCADA系统的队伍中。数维图小编耗费大量时间整理了国内外免费(非完全免费)的SCADA软件
    的头像 发表于 12-07 17:11 687次阅读
    盘点国内外免费SCADA<b class='flag-5'>软件</b><b class='flag-5'>工具</b>

    ROS机器人开发更便捷,基于RK3568J+Debian系统发布!

    是一个开源免费,架构精简的机器人操作系统。ROS被设计为尽可能精简,以便为ROS编写的代码可与其他机器软件框架一起使用,如ROS已与OpenRAVE、Orocos和Player集成。
    发表于 11-30 16:01

    机器学习博士推荐需要掌握的九种工具盘点

    机器学习是一个快速发展的领域,常用的包更新非常频繁。尽管开发人员做出了努力,但较新的版本通常与旧版本不兼容,这样给研究者带来很多麻烦。幸运的是,有工具可以解决这个问题!在这一方面,Mikhailiuk 推荐了两个
    发表于 09-26 11:08 246次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>博士推荐需要掌握的九种<b class='flag-5'>工具</b>盘点

    Microchip(微芯)推出MPLAB机器学习开发工具

    模型开发。这款软件工具包可用于Microchip的各类单片机(MCU)和微处理器(MPU)产品组合,助力开发人员快速高效地添加机器学习推理。Microchip开发系
    的头像 发表于 09-12 18:26 557次阅读
    Microchip(微芯)推出MPLAB<b class='flag-5'>机器</b><b class='flag-5'>学习</b>开发<b class='flag-5'>工具</b>包

    Microchip 推出 MPLAB® 机器学习开发工具包,助力开发人员轻松将机器学习集成到 MCU 和 MPU中

    开发工具包,提供一套完整的集成工作流程来简化机器学习模型开发。这款软件工具包可用于Microchip的各类单片机 (MCU) 和微处理器 (
    的头像 发表于 09-11 15:55 330次阅读

    有偿请帮忙,下载开源代码到机器

    小米的cyberdog2里面的所有开源代码远程桌面,指导安装对应的软件,代码编译运行下载到机器狗;简单讲解一下代码。 有偿请人帮忙,可以长期合作。
    发表于 09-01 17:33

    python数据挖掘与机器学习

    用的数据挖掘和机器学习工具。 一、数据挖掘 数据挖掘是指从大量数据中自动或半自动地发现潜在的关系、规律或模式的过程。Python中有许多数据挖掘工具可供使用,以下是其中一些常用的
    的头像 发表于 08-17 16:29 868次阅读

    如何使用Arm CMSIS-DSP实现经典机器学习

    通常,当开发人员谈论机器学习(ML)时,他们指的是神经网络(nn)。 神经网络的巨大优势在于,你不需要成为一个领域专家,而且可以迅速找到一个可行的解决方案。神经网络的缺点是它们通常需要无数的记忆
    发表于 08-02 07:12

    21句话入门机器学习

    【编者按】这是一篇关于机器学习工具包Scikit-learn的入门级读物。对于程序员来说,机器学习的重要性毋庸赘言。也许你还没有开始,也许曾
    的头像 发表于 07-31 23:44 411次阅读
    21句话入门<b class='flag-5'>机器</b><b class='flag-5'>学习</b>

    21 句话入门机器学习

    【编者按】这是一篇关于机器学习工具包Scikit-learn的入门级读物。对于程序员来说,机器学习的重要性毋庸赘言。也许你还没有开始,也许曾
    的头像 发表于 07-25 11:30 251次阅读
    21 句话入门<b class='flag-5'>机器</b><b class='flag-5'>学习</b>

    如何快速完成6自由度工业机器人的工具校准?

    随着机器人变得日益成熟,它们已经能够应用到处理越来越多的工业工序。6自由度(6Dof)机器人能够执行复杂的动作,因而可以在许多复杂的工业任务当中展示良好的性能,比如码垛、搬运、涂胶和焊接等。6
    的头像 发表于 05-18 17:34 759次阅读
    如何快速完成6<b class='flag-5'>自由</b>度工业<b class='flag-5'>机器</b>人的<b class='flag-5'>工具</b>校准?

    高效理解机器学习

    来源:DeepNoMind对于初学者来说,机器学习相当复杂,可能很容易迷失在细节的海洋里。本文通过将机器学习算法分为三个类别,梳理出一条相对
    的头像 发表于 05-08 10:24 346次阅读
    高效理解<b class='flag-5'>机器</b><b class='flag-5'>学习</b>