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

    文章

    3587

    浏览量

    93582
  • 机器学习
    +关注

    关注

    66

    文章

    8373

    浏览量

    132395
  • 开源工具
    +关注

    关注

    0

    文章

    27

    浏览量

    4444
收藏 人收藏

    评论

    相关推荐

    “0元购”智元灵犀X1机器人,软硬件全套图纸和代码全公开!资料免费下载!

    软件算法代码+高性能关节电机,“人形机器人人人造”的理想真正成为现实,不管是爱好者还是科技达人,都能够迅速搭建机器人并实现基本的行走功能,还可以通过智元
    发表于 10-25 15:20

    【「时间序列与机器学习」阅读体验】+ 简单建议

    这本书以其系统性的框架和深入浅出的讲解,为读者绘制了一幅时间序列分析与机器学习融合应用的宏伟蓝图。作者不仅扎实地构建了时间序列分析的基础知识,巧妙地展示了机器
    发表于 08-12 11:21

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

    机器软件框架一起使用,如ROS已与OpenRAVE、Orocos和Player集成。正是由于这一特点,探索开发ROS系统的人员众多,遍布世界各地,形成一“百花齐放,家争鸣”局面,促使ROS功能
    发表于 07-09 11:38

    机器学习在数据分析中的应用

    随着大数据时代的到来,数据量的爆炸性增长对数据分析提出了更高的要求。机器学习作为一强大的工具,通过训练模型从数据中学习规律,为企业和组织提
    的头像 发表于 07-02 11:22 542次阅读

    工业机器人仿真软件有哪些

    功能强大的机器人仿真和离线编程软件,支持多种机器人品牌,如Fanuc、KUKA、ABB等。它提供了丰富的工具,如3D可视化、碰撞检测、路径优化等。 CoppeliaSim (前称V-R
    的头像 发表于 06-17 09:34 3538次阅读

    基于FPGA EtherCAT的六自由机器人视觉伺服控制设计

    和增强系统处理图像的实时性,本文提出了一伊瑟特的六自由机器人视觉伺服控制系统,将摄像头集成到基于 Zynq的伊瑟特主站上,提高了视觉伺服的实时性.经测试,该平台能够对视觉检测目标的变化做出及时的反应
    发表于 05-29 16:17

    深入探讨机器学习的可视化技术

    机器学习可视化(简称ML可视化)一般是指通过图形或交互方式表示机器学习模型、数据及其关系的过程。目标是使理解模型的复杂算法和数据模式
    发表于 04-25 11:17 372次阅读
    深入探讨<b class='flag-5'>机器</b><b class='flag-5'>学习</b>的可视化技术

    示波器六大采集模式,信号采集容易

    示波器六大采集模式,信号采集容易! 示波器是一广泛应用于电子、电气工程和通信领域的测量仪器。它可以将电信号转换成可视化的波形图,以便观察和分析信号特征。在实际应用中,示波器有多种
    的头像 发表于 01-19 16:16 3473次阅读

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

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

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

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

    机器人实现开发自由,探索精密工艺的机器人关节模组

    机器人关节是作为机器人各个部件之间相互连接的节点,提供了必要的运动自由度。关节模组用其精确度和可靠性,确保了机器人在各个领域的高效率和高质量表现。一体化关节使得
    的头像 发表于 12-08 15:35 478次阅读

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

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

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

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

    精密信号链设计容易

    电子发烧友网站提供《精密信号链设计容易.pdf》资料免费下载
    发表于 11-23 15:54 0次下载
    <b class='flag-5'>让</b>精密信号链设计<b class='flag-5'>更</b><b class='flag-5'>容易</b>