写点什么

中科院开源图形化机器学习系统 Easy ML

  • 2017-06-15
  • 本文字数:2089 字

    阅读完需:约 7 分钟

随着人工智能发展,机器学习成为越来越多大数据应用的选择,不仅节省人力,准确率也有很大的提升。但是机器学习的使用却并不简单,复杂的算法、繁琐的配置等等问题让技术人员头疼不已,以至于在很多大数据平台上,机器学习的作用并没有被很好的发挥出来。

据官方资料,中科院发布 BDA 平台的 Easy Machine Learning 系统 提供了一个通用的数据流系统,可以降低将机器学习算法应用于实际任务的难度。

什么是 Easy Machine Learning 系统?最通俗的翻译就是:简单机器学习系统。

在该系统中,一个学习任务被构造为一个有向非循环图(DAG/directed acyclic graph),每个节点表征一步操作(即机器学习算法),每一条边表征从一个节点到后一个即节点的数据流。

任务可被人工定义,或根据现有任务/模板进行克隆。在把任务提交到云端之后,每个节点将根据 DAG 自动执行。图形用户界面被实现,从而可使用户以拖拉的方式创建、配置、提交和监督一项任务。

系统包含三个主要组件:

分布式的机器学习库不仅能实现流行的机器学习算法,也能实现数据预处理/后处理、数据格式转变、特征生成、表现评估等算法。这些算法主要是基于 Spark 实现的。

基于 GUI 的机器学习开发环境系统能让用户以拖放的方式创造、安装、提交、监控、共享他们的机器学习流程。机器学习库中所有的算法都可在此开发环境系统中获得并安装,它们是构建机器学习任务的主要基础。

执行任务的云服务该服务基于开源的 Hadoop 和 Spark 大数据平台建立,在 Docker 上组织了服务器集群。从 GUI 上接受一个 DAG 任务之后,在所有的独立数据源准备好时,每个节点将会自动安排运行。对应节点的算法将会依据实现在 Linux、Spark 或者 Map-Reduce\cite 上自动安排运行。

为什么要使用 Easy ML?总结起来,Easy ML 的优势主要有三点:

  1. 降低定义和执行机器学习任务的障碍 ;
  2. 共享和重用算法的实现,作业 DAG 和实验结果 ;
  3. 将独立算法和分布式算法无缝集成在一个任务中。

从官方资料可以看到,BDA 平台包括两大组件:

一个是分布式大数据分析函数与算法库 BDA Lib,基于 Spark 内存分布式计算框架,具有强大的大数据处理能力。提供丰富的机器学习算法可供选择,涵盖分类聚类、文本分析、个性化推荐等方向;可运作于单机环境,实现数据分布式和模型分布式;提供极简的 API 接口 / 支持命令行运行。

另一个是可视化任务构建与管理平台 BDA Studio,拥有可拖拽式图形化操作界面,可以支持 MapReduce/Spark/ 单机混合执行,具有强大的数据处理能力;集成了丰富的系统分析程序,支持私有数据 / 自定义数据分析算法模块,支持程序模块 / 应用发布与共享,提供大数据分析样例模板。

两大 BDA 平台组件与三大 Easy ML 组件优势互补,可大幅度提升用户对大数据分析的效率和体验。

Easy ML 和 Azure MLMicrosoft 也有一款图形化界面的机器学习产品:Azure ML。

Microsoft 的 Azure ML Studio 提供了一个快速的学习曲线,它不需采取深层数据或编码的方式来启动运行。

Microsoft Azure 机器学习是一种用于执行价值预测 (回归),异常检测,聚类和分类的云服务。Azure 机器学习是微软 Cortana 分析套件产品的一部分,Azure ML Studio 图形化、模块化的方法将让你快速了解机器学习模型。

Azure ML Studio

Azure 提供了三个级别的工作空间和四种机器学习工作区,而不同级别的工作空间拥有的功能也均有不同,同时使用的价格也有差异。

不同于商业化的 Azure ML,Easy ML 系统已经完全开源,开发者可以获得全部源代码,并对源代码进行研究和修改。

开源也好,商业也罢,不论是微软的 Azure ML,还是国产的 Easy ML,共同目的都是为了让开发者能够更好地理解机器学习,更加轻松的进行开发,其实对于大部分的开发者来说:适合自己的,就是最好的。

如何使用 Easy ML?

安装

在使用之前,用户需要对自己计算机的环境变量进行配置。配置教程地址如下:

https://github.com/ICT-BDA/EasyML/blob/master/QuickStart.md

使用根据官方 GitHub 的 README 文档,在运行 Easy ML 之后,可以使用官方账号 bdaict@hotmail.com、密码进行 bdaict 登录使用,地址如下:

http://localhost:18080/EMLStudio.html(建议使用 Chrome 浏览器)

登陆成功后,可以看到正常运行界面如下:

用户可以根据左边菜单的选择算法和数据集创建一个机器学习任务(一个数据流 DAG)。用户可以点击选择在 Program 和 Data 菜单项下面的算法和数据集,同样也可以点击 Job 菜单项选择现存的任务,并复制和做一些必要的修改。用户同样可以在右边的菜单修改任务信息和每一个结点的参数值。任务中的结点可以对应于单机 Linux 程序或在 Spark、Hadoop Map-Reduce 上运行的分布式程序。

更详细的使用教程请访问:

https://github.com/ICT-BDA/EasyML

参考资料:

论文:

http://www.bigdatalab.ac.cn/~junxu/publications/CIKM2016_BDADemo.pdf

GitHub:

  1. 配置

https://github.com/ICT-BDA/EasyML/blob/master/QuickStart.md
2. 使用

https://github.com/ICT-BDA/EasyML


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-06-15 19:0018023
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 275.7 次阅读, 收获喜欢 1301 次。

关注

评论

发布
暂无评论
发现更多内容

技术干货 | 趣谈哈希表优化:从规避 Hash 冲突到利⽤ Hash 冲突

百度开发者中心

算法 数据结构和算法

Centos7配置librdkafka运行时

happlyfox

Centos 7 28天写作 2月春节不断更

简述:一款优秀的缺陷管理系统有哪些功能特点!

优秀

缺陷管理系统

添加小助理vx:mxzFAFAFA即可!!

比伯

Java 编程 架构 面试 计算机

研发效能的历史和未来

李小腾

研发效能 数据驱动

可能是Java Stream的最佳实践(二)

ES_her0

28天写作

第一篇文章

棉花糖

2021金三银四涨薪季,这些面试题都掌握了嘛?

ios 面试

国产芯片WiFi物联网智能插座—电源功能设计

不脱发的程序猿

28天写作 二月春节不断更 智能插座 WiFi物联网智能插座 电源设计

魔改出一个 Encoder | Rust 学习笔记(一)

李大狗

区块链 rust 入门

安卓天气app开发!2021年Android开发者跳槽指南,社招面试心得

欢喜学安卓

android 程序员 面试 移动开发

开工来面试了几十个人,一言难尽

yes

面试

Oracle sqlldr快速导入和sqluldr2快速导出

阳光下、慵懒的熊

数据库

【文末彩蛋】数据仓库服务 GaussDB(DWS)单点性能案例集锦

华为云开发者联盟

sql 数据仓库 数据

国产芯片WiFi物联网智能插座—项目简介

不脱发的程序猿

物联网 28天写作 二月春节不断更 WiFi物联网插座 智能插座

到底什么是敏捷

Teobler

敏捷 敏捷开发 敏捷精髓 敏捷书籍

教你如何在Python中读,写和解析CSV文

华为云开发者联盟

Python csv

使用Kong作为微服务网关

行者AI

kong

常见的初级排序算法,这次全搞懂

Silently9527

Java 排序算法

安卓软件开发教程!全世界都在问Android开发凉了吗?offer拿到手软

欢喜学安卓

android 程序员 面试 移动开发

日记 2021年2月25日(周四)

Changing Lin

2月春节不断更

华为云“网红”语言Python课程来啦!

华为云开发者联盟

Python

技术干货 | 中间件技术在百度云原生测试中的应用实践

百度开发者中心

底层技术 #技术干货#

Git教程--git merge命令

生之欢愉,时间同行

git 程序员 git merge

3分钟学会如何上手supervisor看门狗

happlyfox

Linux centos7 28天写作 2月春节不断更

话题讨论 | 在中国程序员工作是青春饭吗?

happlyfox

话题讨论 2月春节不断更 话题王者

LeetCode题解:718. 最长重复子数组,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

DCache 分布式存储系统|K-K-Row 缓存模块的创建与使用

TARS基金会

MySQL 数据库 nosql 分布式存储 TARS

诊所数字化:连锁型诊所应用远程会诊做分级诊疗

boshi

数字化医疗 七日更 28天写作

2021版面试必问178条性能优化建议!(Java+JVM+Redis+MySQL等)

Java架构追梦

Java 架构 面试 性能优化 金三银四跳槽

话题讨论 | 英语对IT从业人员重要吗?

happlyfox

IT 话题讨论 28天写作 2月春节不断更 话题王者

中科院开源图形化机器学习系统Easy ML_语言 & 开发_陈思_InfoQ精选文章