CN107450902B - 用于可视化建模的方法和系统 - Google Patents
用于可视化建模的方法和系统 Download PDFInfo
- Publication number
- CN107450902B CN107450902B CN201710289874.7A CN201710289874A CN107450902B CN 107450902 B CN107450902 B CN 107450902B CN 201710289874 A CN201710289874 A CN 201710289874A CN 107450902 B CN107450902 B CN 107450902B
- Authority
- CN
- China
- Prior art keywords
- node
- distributed computing
- data
- nodes
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- User Interface Of Digital Computer (AREA)
- Architecture (AREA)
Abstract
分布式计算设计系统促进复杂数据和数学模型的创建和部署。在一个实施方式中,系统生成可视化分布式计算设计工作空间的图形用户界面。可视化分布式计算设计工作空间包括:节点调色板,其包括单独地可选择的节点,每个节点各自具有图形表示并且与在预定目标分布式计算集群上可用的分布式计算功能相对应;链接工具,其用于在单独地可选择的节点之间建立连接链接;以及数字画布。具有建模电路的系统响应于与图形用户界面交互以通过接受对来自节点调色板的特定节点的节点选择、将特定节点放置在数字画布上、接受对特定节点之间的数据流连接的链接选择并且链接由链接选择所指定的特定节点来促进可视化地建立数据模型。
Description
相关申请的交叉引用
本申请要求于2017年1月31日提交的申请号15/420,947的美国非临时申请和于2016年4月29日提交的申请号62/329,824的美国临时申请的权利,其内容通过整体引用并入于此。
技术领域
本公开涉及提供设计、编码、部署和监测分析模型的执行的可视化建模工具的机器和复杂系统架构。
背景技术
数据科学的领域,并且更特别地,分析模型的开发和实现已经通常要求强大的计算机和处理系统技能以及对数据科学的熟悉。这些专门的技能是开发、设立和编程模型算法以及访问并且准备数据所需要的,从而使得数据对于训练模型是有效的,并且使得对数据运行模型将给出有意义的结果。这些复杂的技术挑战已经传统上给科学家和工程师留下了建立和实施在其工程和科学领域中有用的分析模型的艰巨任务。即,分析建模通常是其中科学家和工程师较不熟悉的领域,并且其无论如何是与他们的从数据提取洞察力的主要目标不相关的。
发明内容
本公开提供了用于可视化建模的方案。
附图说明
图1示出了用于实施可视化建模工具的示例系统配置和上下文。
图2示出了如可以由图1的系统提供的示例图形用户界面。
图3示出了如可以由图1的系统提供的另一示例图形用户界面。
图4示出了用于可视化建模工具的示例系统实施方式。
图5示出了系统可以实施的逻辑的示例流程图。
图6示出了系统可以实施的逻辑的另一流程图。
具体实施方式
本公开提供了提供允许对编程没有经验的数据科学家和工程师设计、验证和部署具有特征和功能的完全集合的分析模型的技术创新的可视化建模工具的工具和方案。可视化建模工具提供了用户可以与其交互以打开、编辑、创建、设计、验证和部署新的分析模型的图形用户界面(GUI)。在一个方法中,可视化建模工具提供可视化建模画布并且用户可以选择、拖曳、放下、编辑并且连接可视化画布上的节点。节点可以表示或包含在目标分布式计算集群上可用的一个或多个数据转换。这样配置的可视化建模工具以用户友好并且数据科学家和工程师可以容易地与其交互的可视化方式呈现分析模型。
图1示出了用于实施可视化建模工具100的示例系统配置和上下文。可视化建模工具100还可以被认为是分布式计算设计系统。可视化建模工具100可以包括实施可视化建模工具功能的电路。可视化建模工具100可以包括应用逻辑102和可视化建模电路104。如下面所讨论的,应用逻辑102可以为可视化建模电路104的功能提供操作约束和业务逻辑规则。可视化建模工具100还可以包括提供促进与可视化建模电路104的用户交互的图形用户界面的图形用户界面电路105。可视化建模工具100还可以包括实施与其他系统接口的接口电路。可视化建模工具100可以包括与交互式会话服务器108接合的交互式会话客户端电路106。可视化建模工具100还可以包括模型文件建立电路110,其被配置为建立部署包112(诸如可以包括由目标分布式计算集群(“计算集群”)116可执行的经训练的模型或代码的模型文件)。可视化建模工具100还可以包括模型部署电路114,其被配置为将部署包112部署到计算集群116并且与计算集群116交互以控制由计算集群116所执行的部署包112所定义的模型的执行。
计算集群116可以是分布式计算集群(诸如Apache Spark计算引擎、R计算引擎、Apache Mesos计算引擎、Amazon Web Services Elastic Map Reduce(AWS EMR)计算引擎、Apache Yarn计算引擎、Apache Hadoop计算引擎或可以提供计算能力(诸如处理能力和存储器空间)以及实施在数据分析和建模中所涉及的不同的数据模型特征的处理功能的任何其他分布式计算引擎)。计算集群116可以提供表示计算集群116内的计算资源的不同的节点124、126、128,用户可以利用节点实例化、引用和应用数据模型以执行对包括实况数据流的数据集的分析功能。
交互式会话服务器108可以包括交互式会话管理器118。可视化建模工具100的交互式会话客户端电路106可以与交互式会话管理118交互以在交互式会话服务器108内产生不同的交互式会话实例119(例如,第一交互式会话实例120和第二交互式会话实例122)。交互式会话客户端电路106可以在交互式会话服务器108上产生专用分布式计算会话以将数据模型的实例化与其他实例化隔离。交互式会话实例119是在交互式会话服务器108上所执行的专用交互式计算会话并且可以表示具有特定功能子集的计算集群116内的对应的计算集群节点124、126、128的版本。
例如,交互式会话实例119可以具有与计算集群116的计算集群节点124-128相比较选择性地减少的处理能力或数据处置能力。然而,不像计算集群116的计算集群节点124-128那样,用户可以更直接地对交互式会话实例119接合或控制,使得用户可以迅速地接收结果、可以接收中间结果以及可以更改模型的方面并重新测试模型。例如,交互式会话实例119可以为在交互式会话服务器108上所执行的数据模型提供执行结果。由于其选择性地约束的计算能力和增加的交互式能力,交互式会话实例119和交互式会话服务器108作为整体给用户提供在未完全地将模型重新编译并且部署在计算集群116的节点上的情况下动态地并且迅速地开发以及改善模型的能力。因此,在模型开发期间,交互式会话的一个目标是模型训练(例如,以定义解决给定分析问题的最好模型)。在模型训练期间,数据科学家或其他用户可以从事可以适配在存储器中的数据的小子集(例如,训练集),这允许交互式会话实例119迅速地并且交互式地将计算结果提供给用户。在模型被训练之后,计算集群116将把在模型训练期间所训练的经训练的模型应用到交互式会话实例119。在全部实施阶段中,经训练的模型作用于整个数据集(例如,其通常可以未适配在单个机器的存储器中以作为分批操作)。
交互式会话服务器108可以是Spark交互式外壳,但是其他交互式会话服务器类型是可能的,包括例如R、OpenCV或Amazon Web Services(R)(AWS)交互式会话服务器。交互式会话服务器108可以使用表征状态转移(REST)协议提供应用编程接口(API)。交互式会话服务器108可以使用超文本传输协议(HTTP)来实施REST API,使得API通过HTTP实施REST。以这种方式,可视化建模工具100可以通过网络或因特网使用HTTP与交互式会话服务器108接合。例如,一个计算设备(例如,客户端设备)可以执行或实施可视化建模工具100,而第二计算设备(例如,服务器)可以执行或实施交互式会话服务器108。在这样的方法中,两个设备(例如,客户端设备和服务器设备)可以经由因特网或另一网络通信(例如,使用HTTP上的REST API)。在备选实施例中,可以在与可视化建模工具相同的计算设备(例如,相同计算机)上实施或执行交互式会话服务器108。
在未使用可视化建模工具100的情况下,用户必须通过将Java代码、Scala代码或Python代码录入与交互式会话服务器108通信的终端中与交互式会话服务器108直接地接合。遗憾的是,这样的方法要求用户具有对这样的编码语言的工作理解(许多数据科学家可能不具有的技能)。而且,这样的方法为这样的代码录入中的错误提供机会并且可以通过迫使他们聚焦于代码语法和命令而使数据科学家从开发质量数据模型的活动中分心。
可视化建模工具100完成许多技术任务,包括给数据科学家和其他用户提供可视化地在图形用户界面(GUI)内创建、更改、回顾、训练和部署数据模型的工具。可视化建模工具100执行以下技术任务:创建和更改所生成的代码;和将所生成的代码提供给交互式会话服务器108或将所生成的代码部署到目标分布式计算集群116。在不需要用户手动地录入代码或改变代码或用户甚至不知道在图形用户界面中做出改变将引起对代码的什么特定改变的情况下,执行这些技术任务。例如,可视化建模工具100促进在不知道实施计算集群116或另一目标分布式计算环境中的那些改变所要求的特定技术方面或代码的情况下对分析建模过程做出改变。如此,可视化建模工具100的技术益处被实现,益处包括减少代码生成中的手动介入和参与、减少人类错误的可能性,从而增加代码生成效率和准确度。
而且,可视化建模工具100(包括可视化建模电路104、图形用户界面电路105、交互式会话客户端电路106、模型文件建立电路110和模型部署电路114)改进了底层的计算机硬件和电路自身的功能。即,这些电路元件和下面所描述的其技术功能是以底层的系统和硬件操作的方式的特定改进。技术改进促进具有经改进的效率、准确度和精度的数据模型的代码的生成、实施和维护。技术改进还通过允许所生成的代码的更快的速度和频率的动态变化和实施来改进底层的系统。
转到图2,图示了示例图形用户界面(GUI)200。GUI 200可以由图形用户界面电路105生成并且可以被显示在提供可视化建模工具100的计算设备或被连接到提供可视化建模工具的服务器的计算设备的显示器上。GUI 200包括可视化分布式计算设计工作空间202,其促进图形设计和更改数据模型或其他分布式计算应用。可视化分布式计算设计工作空间202包括节点调色板204、数字画布206、链接工具208和控制按钮210。示例控制按钮包括:“关闭”,其可以关闭可视化分布式计算设计工作空间202或打开的模型;“保存并调度”,其可以保存打开的模型的进度并且可以调度目标分布式计算集群116上的模型的部署;和“保存”,其可以简单地保存打开的模型的进度。
节点调色板204包括多个单独地可选择的节点,每一个节点都包括图形表示(例如,标题、颜色、形状、图像等)并且与在预定目标分布式计算集群116上可用的不同的分布式计算功能相对应。当与GUI 200交互时,用户可以选择节点调色板204中的节点以包括在数字画布206中。例如,GUI 200可以给用户提供将期望的代码点击或选择以及“拖曳”到数字画布206的能力。备选地,用户可以简单地点击或选择单个节点或多个节点,其可以使得GUI 200利用所选择的(一个或多个)节点自动地填充数字画布206。备选地,用户可以右击或alt-选择节点,其可以使得GUI 200提供具有将节点添加到数字画布206的可选择的选项的菜单。在另一方法中,GUI 200可以使得用户能够突出显示或选择节点调色板204内的一个或多个节点并且可以提供按钮或其他选择器以将所选择的(一个或多个)节点填充数字画布206。GUI 200可以使得用户能够将节点移动到数字画布206上的期望的位置并且在模型的开发期间根据需要更新其在数字画布206上的可视化位置。响应于用户与GUI 200交互以选择并且将节点放置在数字画布206上,可视化建模电路104接受来自节点调色板204的该特定节点的节点选择并且将特定节点放置在GUI 200内的数字画布206上。
可视化分布式计算设计工作空间202还可以包括链接工具208(诸如指针、直线工具或另一图形链接设备)以建立放置在数字画布206中的节点之间的链接。例如,GUI 200可以使得用户能够选择链接工具208并且然后绘出节点之间的连接,从而将一个节点的输出链接到另一节点的输入。例如,数字画布206上示出的示例模型244包括从第一节点246到第二节点248、从第二节点248到第三节点250等的链接。图形链接模式建立第一节点246的输出被提供到第二节点248的输入、第二节点248的输出被提供到第三节点250的输入等。通常,在一个示例中,数字画布206内的链接节点之间的工作流从左到右前进。在该方法中,节点将把数据提供到它右边的下一链接节点。换言之,节点的右边可以被认为是该节点的输出,而节点的左边可以被认为是其输入。节点互连和表示中的变型是可能的。
每个节点可以被链接到零、一个或超过一个的其他节点。虽然示例模型244被示出为单串节点,但是在其他方法中,一个节点的输出可以被链接到超过一个节点的输入,例如以创建可以利用由某个节点所生成或所输出的数据的模型内的多个不同的分支。例如,可以接收第三节点250的输出的新节点可以被添加到数字画布206上的示例模型244,而第四节点252可以继续还接收第三节点250的输出。以这种方式,可以从数字画布206内的节点中的任一个创建多个并行分支。响应于用户与GUI 200交互以建立数字画布206上的节点之间的连接,可视化建模电路104接受包括节点之间的数据流连接的链接选择并且链接如由链接选择所指定的特定节点。图形用户界面电路105经由GUI 200生成链接的图形表示。
在一个方法中,节点调色板204可以通过分布式计算功能对节点进行分组。例如,如图2中所示,节点调色板204示出了被分组为五个不同的分组的节点,包括各自根据其功能命名的输入定义(Input Definition)、数据探索(Data Exploration)、数据准备(DataPreparation)、建模(Modeling)和回溯测试(Back Testing)。每个节点可以包括分析建模运行时环境的一个或许多功能(例如,在Spark运行时环境或其他运行时环境中可用的功能)。开发者可以更改或生成包括新的或不同的分析建模运行时环境功能的新节点。
在节点调色板204内的输入定义类别内,输入管理(Input Management)节点212是可选择的,其标记通过模型的数据流的开始并且从数据源取回数据。输入管理节点212功能可以使得用户能够将数据可视化并且将数据模型的工作流的起始点提供为数据模型工作的上下文。这样,用户建立的任何模型可以在不必担心训练数据集与实际生产数据之间的数据结构的一致性的情况下准备在生产中被操作化。
在节点调色板204内的数据探索类别内,预测器(Predictors)节点214、分布(Distribution)节点216、异常值(Outliers)节点218和缺失管理(Missing Management)节点220各自是可选择的。预测器节点214选择哪些输入变量应当被复制到其输出。分布节点216使得用户能够根据模型内的定义的条件探索变量分布、定义过滤器或创建标记变量。异常值节点218定义针对连续的变量(例如,根据距平均值的距离所定义的)中的异常值和极值的修复动作。这样的动作的示例包括:无(None)、迫使(Force)、剪切记录(Cut record)和无效值(Nullify value)。缺失管理节点220定义对于缺失值的修复,其可以通过变量类型变化。这样的动作可以包括:无(None)、平均(Mean)、值(Value)、随机(Random)、中值(Median)、常量值(Constant value)或其他。
在节点调色板204内的数据准备类别内,转换/二进制(Transformation/Bin)节点222、特征选择(Feature Selection)节点224、创建新变量(Create New Variable)节点226和采样/平衡(Sample/Balance)节点228各自是可选择的。转换/二进制节点222通过应用数值转换或者二进制技术修改数值变量的分布的形状(例如,连续的)。特征选择节点224通过寻找字段中的结构问题以及采取每个预测器与目标变量之间的依存性的重要性的统计测试来筛选变量,并且允许用户设定保留什么变量。创建新变量节点226创建新变量并且将其添加到流。用户可以写入定义变量的值的公式。采样/平衡节点228通过指定针对每个记录的包括概率来计算数据的随机采样。用户还可以选择用于“真”和“假”目标变量记录的不同的包括概率以平衡用于建模的数据。
在节点调色板204内的建模类别内,多个不同的建模节点是可选择的。每个建模节点表示不同的建模或预测算法或技术。建模节点基于输入变量创建存在于预测得分中的变量。使用机器学习或统计模型计算预测。可以借助于出现在节点的页面内的各种参数来改变模型的行为。名字与其相关联的算法或技术相对应的示例建模节点包括线性回归(Linear Regression)节点230、逻辑回归(Logistics Regression)232和决策树(例如,CHAID)节点234、聚类k均值(Clustering k-means)节点236和随机森林(Random Forest)节点238。其他类型的建模节点可以是可能的,并且可以根据由特定目标分布式计算集群所提供的功能而变化。
在节点调色板204内的回溯测试类别内,模型诊断(Model Diagnostics)节点240和评价(Evaluation)节点242是可选择的。模型诊断节点240可以利用已开发的模型诊断问题。评价节点242基于模型工作流中可用的为了一个或多个得分的训练和测试数据集示出性能图以便以不同的百分比对其进行比较。
GUI 200可以提供针对数字画布206上的节点各自可以访问的节点动作选择器菜单258。例如,用户可以选择节点(诸如第三节点250),并且针对该节点选择动作。用户可以通过右击或左击节点、悬停在节点上、触摸节点、环绕节点或选择项或激活与图形用户界面内的项相关联的菜单的任何其他已知方法选择节点。用户可以通过选择或点击节点动作选择器菜单258内的期望的动作来选择特定动作。节点动作选择器菜单258可以利用可用于数字画布206上的特定节点(例如,示例模型244中的节点)的动作填充。各种可能的动作包括改变节点配置的编辑动作。编辑动作使得GUI 200呈现关于节点的设置的信息(参见图3),并且允许用户改变其配置从而改变节点的行为。示出数据动作使得GUI 200向用户提供从特定节点流出的数据的可视化。重命名动作使得GUI 200将节点重命名。部署动作使得可视化建模电路104将节点部署在目标分布式计算集群116上。部署动作使得可视化建模电路104选择从当前节点到数据模型的开始的路径用于部署并且连结路径内的节点的流动以定义总体模型的行为。部署动作还使得可视化建模电路104提取所选择的模型(也被称为“gem”模型)的节点的代码,并且使得模型文件建立电路110创建包含实施所选择的数据模型(例如,“gem”模型)的所提取的代码的部署包(例如,包括JAR文件)。运行动作使得可视化建模电路104使用与节点或模型有关的交互式会话服务器108执行动作。例如,该运行动作可以出现在节点的设置屏幕内(参见图3)以使得能够与交互式会话服务器108交互以在交互式会话服务器108上运行模型或节点。这样的节点的示例是建模类型节点(例如,随机森林、线性回归等),在该情况下执行运行命令可以训练模型并且产生样本预测。删除动作可以使得可视化建模电路104从数字画布206以及从模型中删除节点。其他动作是可能的。
图3图示了针对节点(第五节点254,在该示例中)的编辑设置GUI300。用户可以点击菜单258内的“编辑”动作,并且图形用户界面电路105将然后显示针对所选择的节点的编辑设置GUI 300。在该示例(随机森林类型节点)中,编辑设置GUI 300示出了特定于用户可以操纵的该节点的多个设置302。每个节点可以具有可以根据特定节点的功能更改的不同的设置集。编辑设置GUI 300可以包括“应用”命令按钮(和/或“保存”或“关闭”命令按钮)以应用改变到针对节点的设置302和退出编辑设置GUI 300并且返回到GUI 200的数字画布206。如果节点是建模节点,则“运行”命令按钮306可以被提供以利用数据(例如,在模型链中的更早的输入管理类型节点中所指定的训练数据)训练或运行模型。不同的节点将具有包括特定于该特定节点的功能的不同的设置或命令的不同的设置页面。一些或全部节点可以包括可以例如以可视化方式(例如,经由下拉菜单、选择、单选按钮、文本录入、开关或其他图形接口元素)选择或更改的许多特征、设置或参数。节点设置可以包括当节点最初被启动或实例化时所提供的默认设置。这些更改然后使得可视化建模电路104改变可视化建模电路104创建用于在交互式会话服务器108或目标分布式计算集群116上执行的功能代码。
在一个方法中,可视化建模电路104和图形用户界面电路105可以使用基于页面的架构提供GUI 200,例如用于使用基于页面的设计应用(诸如Accenture Insight Platform(AIP)Design Studio(DS))。GUI 200和GUI 200内的单独的节点可以被组成为AIP DS内的一组页面。AIP DS中的每个页面的逻辑由以AIP DS自身的配置语言(例如,公式语言)写的一组三项逻辑管理,并且逻辑可以各自在运行时定义和改变。每个页面包括呈现器元素、处置器元素和路由器元素。呈现器元素依据控件定义页面的内容,其是用户界面的可重用的元素。呈现器元素还指定页面的视觉方面。处置器元素依据在页面上发生什么(例如,事件)更新页面并且执行业务逻辑。可以由可视化建模工具100的应用逻辑102指定或提供页面的许多逻辑。路由器元素基于在当前页面内发生的事件决定是否导航到另一页面、目标页面和目标页面的上下文。
GUI 200的主页面是数字画布页面,其处置呈现和用户与数字画布206的交互。在图2中示出了该主页面。通过不同的页面表示被放置在数字画布206上的每个个体节点。用户可以通过点击针对节点的节点动作选择器菜单258中的“编辑”按钮、双击节点、选择节点或通过其他选择并且打开项的已知方法选择和查看节点的页面。如上文在图3中所示,示出了第五节点254的页面。
通过页面的路由器元素处置页面之间的导航。主数字画布页面的路由器元素可以基于发生在主数字画布页面中的事件在运行时期间被改变。例如,当节点被添加到主数字画布页面的数字画布206时,针对数字画布页面的路由器被编辑以添加导航路由以使得用户能够响应于用户选择该节点用于编辑的事件而导航到针对新节点的页面。在类似的方法中,针对节点的大部分如果并非所有页面将具有响应于用户通过按压“应用”命令按钮304退出个体节点编辑页面而路由返回到主数字画布页面的路由器元素。
可视化建模工具100的架构可以被认为是包括两个层:节点层和开发层。节点层对应于数字画布206内的节点的操作和互操作。例如,模板代码结构可以被提供用于每个节点以提供各节点的功能和互操作性。开发层存在于第一概念层的框架内以提供使得能够使用交互式会话服务器108的模型的交互式开发并且使得能够将模型部署在目标分布式计算集群上所必要的功能框。这通过添加框架内的另外模块节点使得可视化建模工具100能够有可扩展性和延伸性。通过利用AIP DS环境,开发者可以以模块化方式设计新页面和新节点,从而可用作可视化建模工具100的部分的节点的类型的数目可以随着特定目标分布式计算集群116的功能的数目增加而增加。
每个节点提供目标分布式计算集群116的功能的视觉表示。每个节点可以表示可视化建模电路104响应于数字画布206中的模型的开发所创建或生成的功能代码的一部分。也就是说,每个节点表示由可视化建模电路104所生成并且被用于实现交互式会话服务器108或目标分布式计算集群116上的模型的功能代码的一部分。
在一个示例中,每个节点可以遵守节点模板代码结构。由每个节点表示或实施的目标分布式计算集群116所执行的特定功能代码将在节点类型之间变化。然而,节点模板代码结构为每个节点的操作并且为可视化建模工具100内的每个节点的互操作性提供量规。下面提供了模型的开发期间的节点模板代码结构的示例伪代码表示:
示例节点模板代码结构描述当经由GUI 200使用可视化建模工具100开发模型时(例如,当与交互式会话服务器108交互时)每个节点的操作。其描述节点互连的递归方法,其中给定节点的输入被定义为在在模型节点链处于其之前节点的“CODE”(例如,分布式计算环境功能代码)。可视化建模电路104(例如,操作虚拟机框架)根据节点如何在GUI 200的数字画布206内被布置及被互连针对每个节点注入“inputNode”变量。如上文所示,如果给定节点是模型节点链中的第一节点(例如,节点类型“Input Management”),那么其将不具备加在其自身的CONFIG.code前面的输入“CODE”。然而,如果给定节点的确具有输入节点,那么可视化建模电路104将把先前代码的“CODE”(其还可以递归地包括该节点之前的附加节点的“CODE”)加在其自身的CONFIG.code前面。
针对节点的“SHOW_DATA”函数可以在模型的交互式开发阶段期间针对数字画布206中的节点链内的任何节点被启动。例如,如在图2中所示,示例模型244的第三节点250包括节点动作选择器菜单258,用户可以从节点动作选择器菜单258中选择将发起节点的“SHOW_DATA”函数的命令“示出数据”。作为响应,可视化建模电路104将通过GUI 200为特定节点(例如,第三节点250)和其先前的节点(例如,第二节点248和第一节点246)提供由交互式会话服务器108上的功能分布式计算集群代码的执行所生成的输出数据。例如,GUI200可以为弹出窗口或弹出框中的节点提供输出数据。
如在上文节点模板代码结构伪代码示例中所示,函数“SHOW_DATA”使得可视化建模电路104经由交互式会话客户端电路106向交互式会话服务器108生成命令以执行针对特定节点(例如,第三节点250)和其先前节点(例如,第二节点248和第一节点246)的功能代码(“CODE()”)外加“.show()”命令。例如,当针对第三节点250选择示出数据时,可视化建模电路104将用于第一节点、第二节点和第三节点246-248的功能代码连结到以下示例功能伪代码中:
可视化建模电路104经由交互式会话客户端电路106向交互式会话服务器108发出命令(例如,“SPARK”命令)以执行所提供的功能代码并且返回结果的数据。作为响应,可视化建模电路104将经由交互式会话服务器客户端电路106从交互式会话服务器108接收来自代码执行的结果,并且将经由GUI 200将结果的返回的数据中的全部或一些填充示出的数据弹出窗口。
在另一示例中,在示例模型244的交互式开发阶段期间,第五节点254可以具有关于可以影响其如何在可视化建模工具100内被实施的功能代码的附加考虑。这是因为第五节点254是在实施之前要求训练的建模节点类型(例如,随机森林)。如果第五节点254尚未被训练,则其功能代码可以是空的或空值。因此,如果用户在第五节点254上执行“示出数据”命令,则可视化建模电路104将仅将接收到的数据从第四节点252复制到第五节点254作为示出数据输出。例如,发出到交互式会话服务器108的“SPARK”命令将仅包括第一节点到第四节点246-252的功能代码。
为了训练第五节点254,如在图3中所示,用户可以选择第五节点的编辑设置GUI300中的“运行(Run)”命令按钮。用户将已经选择作为输入管理节点类型的第一节点246的设置视图内的训练数据。在下文示例中训练数据被指示为“hdfs://customer_SUBSET”。下面提供了用于训练与第五节点254相关联的建模节点的功能伪代码的示例:
该示例功能伪代码可以不被填充到第五节点254内直到其被训练。备选地,功能伪代码存在于第五节点254内,但是附加标记可以存在于节点内以指示建模类型节点是否被训练。一旦“运行(Run)”命令按钮306被选择,则可视化建模电路104可以向交互式会话服务器108生成并且发出命令以训练模型。下面提供了用于这样的训练命令的示例功能伪代码:
交互式会话服务器108并且更特别地特定分配的交互式会话实例119将使用所指定的训练数据训练示例模型244并且将返回训练结果。在第五节点254(例如,建模类型节点)被训练之后,可视化建模电路104可以通过将经训练的模型保存为分配的交互式会话实例119内的“模型”变量并且通过设置节点内的训练标记将其标记为训练的。一旦模型被训练,则示例第五节点254的示例伪代码变为如下:
.map(r=>model.predict(point.features))//节点5
如果用户针对第五节点254发起“示出数据(show data)”命令,则可视化建模电路104可以经由交互式会话客户端电路106向交互式会话服务器108发出命令以使用经训练的模型代码在交互式会话服务器108上运行经训练的模型。在交互式会话服务器108上运行经训练的模型(例如,使用“示出数据(show data)”命令)的示例伪代码如下:
用户可以然后验证经训练的模型对于指定的输入数据的的结果是可接受的。备选地,用户可以更改示例模型244内的节点中的任一个的参数或设置并且在交互式会话服务器108上迭代地重新训练和重新测试示例模型244。由于示例模型244在交互式会话服务器108上执行,因而示例模型244的训练和执行比较大的目标分布式计算集群116上的部署快得多。以这种方式,用户可以非常迅速地被提供结果,进行交互和编辑示例模型244看起来迅速地发生并且在一些实例中实时地发生。
在一个方法中,可视化建模工具100可以在交互式模型开发阶段期间在交互式会话服务器108上实施“状态性的”交互式会话。交互式会话是“状态性的”,因为可视化建模电路104跟踪交互式会话内的节点的状态以避免计算相同值超过一次。每个节点定义用于保存该特定节点的输出值的变量,而不是每次对节点之一做出变更时重复地递归地连结和执行来自模型节点链内的所有节点的代码。下面提供了状态性的交互式开发会话期间的节点模板代码结构的示例伪代码表示:
例如,在交互式模型开发阶段期间使用交互式会话服务器108在第五节点254上(在其被训练之后)执行第一次“示出数据(show data)”,可视化建模电路104将生成代码以创建与每个节点的输出相对应的交互式会话服务器108内的变量。示例伪代码如下:
在第一次执行节点时,可视化建模电路104将在节点内将“CONFIG.varDefined”标记设定为真,这指示节点已经被处理。因此,在第二次针对节点执行示出数据命令时(在不改变在链中在其之前的(一个或多个)节点的任何设置的情况下),示例伪代码将简单地产生:
n5.show()//示出先前处理的数据
然而,如果用户在GUI 200内的示例模型244中输入第三节点250并且改变设置,则可视化建模电路104将针对第三节点和还从第三节点250接收输出数据的节点(例如,第四节点252和第五节点254)的“CONFIG.varDefined”标记设定为假。然而,由于第三节点之前的节点(例如,第一节点和第二节点)未被更改,因而存储在变量“n1”和“n2”中的其所存储的输出值保持不变。因此,在该示例中,示例伪代码将如下:
SPARK(val n3=n2.map(r=>(r._1,r._3))//节点3
val n4=n3.map(r=>(...,f(r)))//节点4
val n5=n4.map(r=>model.predict(point.features))//节点5
n5.show()//示出数据
)
通过利用状态性的交互式会话,由于交互式会话服务器108可以利用先前计算的针对每个节点的数据,交互式会话服务器108的总体处理被减少。这改进交互式会话的速度,从而减少开发和测试模型时所浪费的时间。
一旦用户对经训练的模型满意,则用户可以命令可视化建模工具100将模型部署在目标分布式计算集群116上。在将所选择的模型(例如,“gem”模型)部署在目标分布式计算集群116上之前,可视化建模电路104可以将经训练的模型例如保存在存储器或联网存储位置中。
保存经训练的模型的示例伪代码可以是如下:
在GUI 200中,图形用户界面电路105可以显示或提供连接到表示所部署的模型中的最后节点的特定节点的“所部署的”指示器256。
部署(Deploy)动作触发可视化建模电路104以提取针对所选择的模型(还被称为“gem”模型,其是用户已经确定满足其需要的所开发的模型)的代码。部署触发通过模型文件建立电路110创建部署包112(例如,JAR文件)以用于经由模型部署电路114部署到目标分布式计算集群116上。模型文件建立电路110可以提取或编译专用于特定预定目标分布式计算集群的数据模型的代码。可视化建模电路104和模型文件建立电路110从开始于所选择的节点(例如,第五节点254)并且向后前进、结束于初始节点(例如,第一节点246,输入管理)的每个节点提取用于部署包的功能代码。例如,可视化建模电路104可以选择从所选择的节点到预定开始点节点(例如,输入管理类型节点)的路径,该路径将包括节点的集合。可视化建模电路104可以然后将路径指派为所建立的路径上的节点的集合的总体模型的行为表示。这与上文所讨论的关于“示出数据”示例的代码的递归提取一样工作,但是使得可视化建模电路104提取针对每个节点的不同的代码。例如,作为输入管理类型节点的第一节点246将仅选择用于在交互式会话服务器108上执行的交互式开发阶段的数据的子集。然而,一旦被部署在目标分布式计算集群116上,第一节点246将指定模型所要求的所有数据(例如,数据流)。下面提供了用于模型部署的节点模板代码结构的示例伪代码表示:
“gemCode”表示被在部署期间用于将模型部署在目标分布式计算集群116上的功能代码。“gemCode”可以与上文所讨论的在交互式开发阶段期间用于交互式会话服务器108上的模型的执行的“代码(code)”相同或不同。因此,所有或一些节点可以具有用于每个执行环境的不同的功能代码。可以通过将用于所选择的模型(例如,“gem”模型)的以下示例功能伪代码与上文所讨论的关于训练模型的示例功能伪代码相比较看到该差异。
可视化建模电路104连续提取并且连结针对每个节点的功能代码的所选择的版本。以下示例所选择的功能伪代码阐述了用于部署在目标分布式计算集群116上所生成的所选择的代码(例如,针对所选择的模型或“gem”模型):
一旦代码(例如,针对目标分布式计算集群116的执行代码)从每个节点被提取并且被编译或连结,则模型文件建立电路110根据需要将所提取的代码和任何其他变量、数据、命令、库封装到部署包112中。模型部署电路114可以然后将该部署包112部署到目标分布式计算集群116用于在目标分布式计算集群116上执行。模型部署电路114可以通过网络提供命令以与目标分布式计算集群116交互以上载部署包112、执行部署包112的模型、调度部署包112的模型的执行、指定部署包112的模型将被执行在其上的数据或数据流、停止部署包112的模型的执行、从目标分布式计算集群116接收数据或关于模型的执行的状态或执行与目标分布式计算集群116的其他交互。模型部署电路114可以与可视化建模电路104通信以经由图形用户界面电路105向用户提供结果或将结果或结果的各部分存储在存储器或数据库内。
在不同的示例中,部署(Deploy)动作使得可视化建模电路104通过将模型变量(例如,以下示例中的随机森林模型变量)保存在永久存储装置(例如,存储装置424)上并且接着再次调用它来部署所选择的模型(例如,“gem”模型)。以下是实现保存模型变量的伪代码的示例:
s c.saveAs ParquetFile(model,“hdfs://path/to/model”)
可视化建模电路104可以然后根据以下伪代码实施所选择的模型:
返回图1,可视化建模工具100可以包括与交互式会话服务器108接合的交互式会话客户端电路106。如上文所提到的,交互式会话客户端电路106可以经由网络或经由内部总线(如果共置在单个计算机上)与交互式会话服务器108通信。例如,当会话在可视化建模工具100内开始时或另外当被命令在GUI内这样做时,交互式会话客户端电路106可以与交互式会话服务器108的交互式会话管理器118通信以请求创建唯一交互式会话实例(例如,第一交互式会话实例120)。交互式会话管理器118可以创建交互式会话服务器108中的第一交互式会话实例120并且可以将第一交互式会话实例120的地址传递回到交互式会话客户端电路106。当模型经由图形用户界面电路105(下面所讨论的)在可视化建模电路104中开发、加载、运行时,交互式会话客户端电路106可以直接与第一交互式会话实例120通信以提供表示模型的代码、提供用于模型的执行的操作指令并且从模型的执行接收数据或结果。例如,交互式会话客户端106可以使用为第一交互式会话实例120所提供的地址经由HTTP上的REST API与第一交互式会话实例直接通信。备选地,交互式会话客户端电路106可以经由交互式会话管理器118与第一交互式会话实例120通信(例如,使用HTTP上的REST API)。
一旦用户对模型满意,则用户可以将模型部署在预定目标分布式计算集群116上。模型文件建立电路110编译来自在GUI上示出的各种节点的代码以创建部署包112。例如,模型文件建立电路110可以接收由每个节点所表示的Scala代码、Python代码或Java代码并且可以响应地将代码、必要资源、值或任何所要求的库编译为适于部署到预定目标分布式计算集群116内的JAR文件。在一个方法中,模型文件建立电路110包括将经训练的模型和所要求的所有数据、系数和代码封装到可执行文件(诸如可执行JAR文件)中的JAR BuilderMicroservice(JBM)。下面提供可部署的代码的示例:
模型部署电路114例如通过网络与目标分布式计算集群116通信以向目标分布式计算集群116提供部署包112和关于被包含在目标分布式计算集群116上的部署包112内的(一个或多个)模型的执行或调度执行的任何必要的指令。模型部署电路114还可以接收来自目标分布式计算集群116的数据(诸如来自模型的执行的结果或模型的目前状态)。
一旦用户在可视化建模画布上放置并且互连节点以创建分析建模过程,则可视化建模工具生成与每个节点和互连的节点的集合相对应的代码(例如以Scala编程语言或另一编程语言)。在一个方法中,可视化建模工具通过逐个遍历节点(例如,从输入源向系列中的最后节点,在各种示例中,其可以从左到右或从上到下表示)生成代码。例如,当生成代码时,可视化建模工具可以定义工作流的分支、将每个节点与其预期的或表示的功能相关联、从先前的节点(如果存在的话)取得输入以及使用用户已经提供的输入或设置。以这种方式,可视化建模工具可以按照与数据可以通过分析建模过程前进类似的方式生成代码。
用户可以使得可视化建模工具100训练分析模型。例如,在Spark应用设置中,用户可以使得可视化建模工具与Spark Interactive Server交互(例如,利用Spark存储器中的特征)以使用用户可以提供或指派的数据对分析模型进行训练。用户可以使得可视化建模工具更改分析模型的一个或多个值或特征并且迭代地重新训练分析模型。一旦用户对经训练的模型的结果满意,则用户能够使得可视化建模工具100创建适于分析部署在建模运行时环境(例如,Spark集群)上的不同的代码输出。例如,用户可以选择或连接部署节点到分析建模过程以使得可视化建模工具创建可部署的代码及部署分析模型。
可视化建模工具100可以依赖于分析建模过程中分析模型或进程的状态生成不同的代码输出。例如,当分析模型被最初生成和训练时,可视化建模工具可以生成适于与交互式会话服务器108(例如,Spark Interactive Server)交互的第一代码,交互式会话服务器108允许迅速地和交互性地创建以及训练数据(例如,训练数据)的较小子集上的模型。然而,一旦分析模型准备部署在目标分布式计算集群116(例如,Spark集群)上,则可视化建模电路104可以生成适于部署在该运行时环境上的不同的代码。下面提供并且讨论了示例。
可视化建模工具还可以包括错误检查电路,错误检查电路可以对各种输入或所生成的代码执行错误检查或验证。例如,错误检查电路可以对从交互式会话服务器108或分布式计算集群116返回的所生成的代码、捕获和过程错误执行语义检查。错误检查电路还可以对由用户在可视化建模工具100中所创建的分析模型的用户设置或配置执行错误检查。例如,错误检查电路可以确定某些节点是否缺失输入。
可视化建模工具100还可以提供多租户功能。例如,可视化建模工具100可以使得许多用户能够集中地而不是不信任的跨多个个体分隔的设备来管理和访问分析模型的数据和库的集合。可视化建模工具100还能够为数据集和分析模型提供版本控制,例如确保可被许多用户访问的中心数据未被损坏或更改损害另一用户或会话。例如,可视化建模工具100可以提供交互式会话实例119(例如,交互式会话服务器108上的交互式会话实例120和122)的隔离并且使多个用户在不干扰其他会话的情况下同时地或非同时地与数据或分析模型交互及对其进行访问。
以另一方式表达,系统架构可以包括被配置为生成可视化分布式计算设计工作空间202的图形用户界面200的图形用户界面电路105。可视化分布式计算设计工作空间202包括:节点调色板204,其包括单独地可选择的节点,每个节点具有图像表示并且与在预定目标分布式计算集群116上可用的分布式计算功能相对应;链接工具208,其用于在单独地可选择的节点之间建立连接链接;以及数字画布206。系统架构还可以包括可视化建模电路104,其响应于与图形用户界面200交互以促进可视化地建立数据模型。可视化建模电路104被配置为接受来自节点调色板204的特定节点的节点选择、将特定节点放置在数字画布206上、接受特定节点之间的数据流连接的链接选择并且链接由链接选择所指定的特定节点。
系统架构可以进一步包括模型文件建立电路110,其可操作以生成用于数据模型并且特定于预定目标分布式计算集群116的分布式计算执行代码、将分布式计算执行代码封装到部署包112中并且将部署包112部署到预定目标分布式计算集群116。在系统架构内,交互式会话客户端106被配置为产生专用分布式计算会话(例如,交互式会话实例119)以隔离数据模型的执行,并且在交互式会话服务器108上的数据模型的执行之后,呈现专用分布式计算会话内的数据模型的执行结果。
图4示出了上文所描述的提供可视化建模工具100的系统架构的示例特定系统实施方式。在图4中的示例中,在机器400中实施可视化建模工具100。根据系统实施方式,机器400包括支持上文所讨论的关于各种高级别系统图和其他地方各种方面和功能的实施的系统电路402。在一个实施例中,系统电路402包括处理器404、存储器406和/或其他电路。处理器404可以被连接到存储器406并且可以包括存储器系统,其包括跨越多个系统共置或分布的多个存储器设备。存储器406可以存储控制指令、用于控制指令的操作参数、数据集和其他信息。控制指令可以由处理器404执行以根据由操作参数所设定的配置实施此处所描述的处理中的任一个。此外,在一些实施例中,可以由系统电路402实施机器400的各种电路元件。
存储器406可以存储供电路元件使用和/或实施电路元件的各部分的数据和指令。存储器406包括应用逻辑和规则426,其为可视化建模电路104的操作提供逻辑和规则。存储器406还可以包括分布式计算集群交互指令,其提供指令和数据以使得视觉建模工具100能够与一个或多个运行时环境交互。存储器406还可以包括可视化建模工具指令428,可视化建模工具指令428可以进一步包括图形用户界面(GUI)及数据430,该指令使得系统电路402能够实施并且向用户提供可视化建模工具100的GUI 200。处理器404、存储器406和GUI指令及数据430可以实施图形用户界面电路105的部分。存储器406还可以包括节点数据432,其可以包括将节点提供到用户、使得用户能够更改配置和设置并且将默认设置提供给用户所需要的数据。节点数据432可以包括节点可以表示的其他数据或对应的代码,其可以由可视化建模工具使用以生成代码。例如,节点数据432可以包括由节点所表示的功能代码的不同的版本(例如,用于在交互式会话服务器108上执行的一个版本和用于在目标分布式计算集群116上执行的另一版本)。存储器406还可以包括使得可视化建模工具100能够根据上文所讨论的节点的各种配置生成代码的代码生成指令434。存储器406还可以包括使得可视化建模工具能够验证或检查输入设置或配置(例如,由用户所提供的)或用于可视化建模工具所生成的代码中的错误的验证指令436。
存储器406还可以包括交互式会话客户端指令438,交互式会话客户端指令438提供使得交互式会话客户端电路106能够与交互式会话服务器108能够进行交互和接合的接口指令和协议。类似地,存储器406还可以包括模型部署指令440,模型部署指令440提供使得模型部署电路114能够与目标分布式计算集群116进行交互和接合以部署模型的接口指令和协议。存储器406还可以包括模型文件建立指令442,模型文件建立指令442用于收集可执行代码并且将代码和任何其他所要求的数据封装到适于部署在目标分布式计算集群116上的部署包112中。对于其中机器400自身本地实施而不是在远程服务器上实施交互式会话服务器108的实施例,存储器406还可以交互式会话外壳指令和数据443的。
机器400还可以包括通信接口408,其可以经由无线通信电路410和天线412支持无线通信。示例无线通信协议可以包括蓝牙、Wi-Fi、WALN、近场通信协议、蜂窝协议(2G、3G、4G、LTE/A)和/或其他无线协议。此外,通信接口408可以包括有线通信电路414。示例有线通信协议可以包括以太网、吉比特以太网、异步传送模式协议、无源和同步光网络协议、有线电视网络上的数据接口规格(DOCSIS)协议、EPOC协议、同步数字体系(SDH)协议、同轴电缆多媒体联盟(MoCA)协议、数字用户线(DSL)协议、电缆通信协议和/或其他网络和网络协议。通信接口408可以被连接或被配置为连接到网络450(包括因特网或内联网)以使得机器400和其中的系统电路402能够与其他系统和设备(包括例如交互式会话服务器108或目标分布式计算集群116)通信。此外,通信408包括实现机器400的各种元件、组件和电路部分之间的相互通信的系统总线416。示例系统总线实现包括PCIe、SATA和基于IDE的总线。
通信接口408可以使能机器400内的各种电路组件的互连(例如,经由一个或多个总线、计算机组件接口或外围组件接口)。例如,通信接口408可以经由系统总线416内部地(如果内部地维持的话)或经由无线通信电路410或有线通信电路414外部地(如果外部地维持的话)耦合到电路元件和数据库。通信接口408还可以支持与远程存储装置444、客户端设备448或远程运行时环境446(例如,交互式会话服务器108或目标分布式计算集群116)通信。
通信接口408可以支持与外部客户端设备448通信。可以通过用户界面电路和/或利用用户界面指令及数据430实现与外部客户端设备448通信。可动态重新配置的GUI可以经由网络450被提供到客户端设备448以使得客户端设备448能够与机器400交互。在一个示例中,机器400包括能够将网络服务或网页提供到客户端设备448的网络服务器。例如,客户端设备448可以登录进入网络服务器并且接收与GUI 200相对应的页面。
备选地,机器400可以是计算设备(诸如膝上型计算机或个人计算机),其包括在不需要与远程服务器交互的情况下实施可视化建模工具100所必要的电路和程序设计。在这样的方法中,机器400自身可以包括各种I/O接口418和/或显示器420例如以补充或者取代通过网络450与远程客户端设备448交互以使得能够与上文所讨论的各种电路元件本地交互。在一些示例中,显示设备420可以向本地用户提供用户界面422,其可以与能够被提供到远程客户端设备448的用户界面相同或是其变型。
此外,I/O接口418和显示器420可以使得本地维护工程师能够与机器400交互。可以经由本地显示器420提供本地GUI以将控制仪表板、可行的洞察力和/或其他信息呈现给维护工程师。本地GUI可以支持便携式访问(诸如经由基于网络的GUI)以使得能够维护机器400或与机器400进行其他交互。该本地GUI可以与其他地方所描述的GUI相同或者不同。机器400还可以包括使得能够本地存储系统软件、用户界面或系统指令的存储设备424(例如,硬盘驱动器、固态驱动器或其他存储器系统)。
图形用户界面电路105可以被耦合到用户界面数据库,用户界面数据库可以存储生成并且提供用户界面(特别地,可视化建模工具100的GUI 200)所必要的逻辑、指令、代码、图像或其他内容。各种数据库可以被实施在多个不同的存储设备(例如,存储器或硬盘驱动器)上、单个存储设备上或其组合上。例如,一些存储数据库可以被实施在共享存储设备上,而其他存储数据库可以被实施在其他不同的存储设备上。这些存储设备可以本地于机器400(例如,被安置在机器400内或直接地连接到机器(例如,存储器406或存储设备424))。备选地,存储设备(例如,远程存储装置444)可以通过网络450(诸如内联网(例如,本地的))或经由因特网被连接到机器400。
客户端设备448可以包括例如计算机(例如,膝上型电脑)、智能电话或能够经由网络450或直接地与机器400通信的另一电子设备。客户端设备448可以是允许用户连接到网络450(诸如因特网)的计算设备。客户端设备448的示例包括但不限于个人计算机、个人数字助理(“PDA”)、膝上型电脑、智能电话、蜂窝电话、平板电脑或另一电子设备。客户端设备448可以包括键盘、小键盘、触摸屏接口或光标控制设备(诸如鼠标或操纵杆)、显示设备、遥控器和/或操作以查看并且与用户界面交互的任何其他设备。在一个实施例中,客户端设备448被配置为例如使用网络浏览器(诸如INTERNET(由华盛顿雷德蒙德微软公司销售的)或(由Mozilla所提供的))请求并且接收来自网络450的信息。备选地,客户端设备448可以直接耦合到机器400(例如,经由直接连接或经由本地内联网)。在另一实施例中,客户端设备448和机器400被实施在相同系统上(例如,在膝上型电脑或其他计算设备上)。下面提供机器400的进一步的技术操作细节。
在某些实施例中,图形用户界面电路105可以经由网络450向远程客户端设备448提供接口(诸如图形用户界面(GUI))。例如,机器400可以经由用户界面电路105向客户端设备448提供可视化建模工具100的图形表示。GUI 200可以被提供为更大的软件工具或服务提供的部分。GUI 200可以被显示在客户端设备448上或经由本地显示器420本地显示。GUI200可以经由在客户端设备448上操作的网络浏览器被实施并且可以被显示和/或被导航为网页。备选地,GUI 200可以被实施为在机器400或客户端设备448上运行的独立的或相互连接的软件应用。
图5示出了可视化建模工具100可以实施以向用户提供可视化建模能力的逻辑500的流程图。例如,上文所讨论的各种电路元件可以被配置为实施图5中所示的逻辑500中的一些或全部。图形用户界面电路105可以生成可视化分布式计算设计工作空间202的图形用户界面(502)。设计工作空间202可以包括节点调色板204、链接工具208和数字画布206。可视化建模电路104可以响应于图形用户界面200以促进可视化地建立数据模型。这可以包括接受来自节点调色板的特定节点的节点选择(504)、将特定节点放置在数字画布上、接受特定节点之间的数据流连接的链接选择(506)并且链接如由链接选择所指定的特定节点(508)。
图5中所示的逻辑500的流程图还可以由可视化建模工具100实施为建立代码的部署包112并且将部署包112部署在目标分布式计算集群116上的方法的部分。可选地,图形用户界面电路105还可以在可视化分布式计算设计工作空间202上生成代码动作选择器菜单258(510),节点动作选择器菜单258被在数字画布206上的特定节点上可用的动作填充。在某些实施例中,可视化建模电路104和/模型文件建立电路110可以生成使用GUI 200开发的数据模型的预定目标分布式计算集群的分布式计算执行代码(512)。模型文件建立电路110可以然后将分布式计算执行代码封装到部署包112中(514)。模型部署电路114可以然后将部署包112部署到预定目标分布式计算集群116(516)。
图6示出了可视化建模工具100可以实施以使用交互式会话服务器108交互性地开发数据模型的逻辑600的流程图。例如,上文所讨论的各种电路元件可以被配置为实施图6中所示的逻辑600中的一些或全部。可视化建模电路104和/或交互式会话客户端电路106可以生成用于数据模型的交互式计算会话执行代码(602)。交互式会话客户端电路106可以产生交互式会话服务器108上的专用交互式计算会话(604)并且使得交互式会话服务器108执行专用交互式计算会话内的交互式计算会话执行代码(606)。交互式会话客户端电路106还可以从交互式会话服务器108接收来自执行专用交互式计算会话内的交互式计算会话执行代码的结果并且经由GUI 200显示或以其他方式呈现结果(608)。
在某些实施例中,可视化建模电路104可以通过经由GUI 200接收对数据模型的节点的修改来接收对数据模型的修改以生成经修改的数据模型(610)。可视化建模电路104和/或交互式会话客户端电路106可以生成用于经修改的数据模型的经修改的交互式计算会话执行代码(612)。交互式会话客户端电路106可以使得交互式会话服务器108执行专用交互式计算会话内的经修改的交互式计算会话执行代码(614)。
被这样配置,可视化建模工具100使得用户(诸如数据科学家和工程师)能够使用表示目标分布式计算集群的功能的可视化节点交互性地开发数据模型。可视化建模工具100可以复制有向无环图(DAG),其可以例如与Spark、OpenCV、R、AWS、Yarn、Hadoop、Impala、Parquet或其他分布式计算运行时环境一起使用。可视化建模工具100根据用户通过GUI设定的节点的视觉布局对所生成的代码进行开发并且做出改变。可视化建模工具100消除用户手动地录入任何代码或改变表示数据模型的代码或甚至知道对图形用户界面中的视觉节点布局做出这样的改变将导致对代码的什么特定改变的需要。例如,可视化建模工具使得用户能够在不知道实施各种分析模型中的那些改变所要求的特定技术方面或代码的情况下对分析建模过程做出改变。此外,可视化建模工具100通过以下方式管理两种不同的使用情况(例如,模型开发阶段和模型应用阶段):不依赖于针对每种使用情况的不同的底层技术和复杂性,向用户隐藏底层的技术复杂性以提供在提供给用户的统一和熟悉环境中执行这两个使用情况的单个可视化建模工具100。
可以以许多不同的方式并且以硬件和软件的许多不同的组合实施上文所描述的方法、设备、处理、电路、结构、架构和逻辑。例如,实施方式的全部或部分可以是包括指令处理器的电路,诸如中央处理单元(CPU)、微控制器或微处理器;或专用集成电路(ASIC)、可编程逻辑器件(PLD)或现场可编程门阵列(FPGA);或包括分立逻辑或其他电路组件的电路(包括模拟电路组件、数字电路组件或二者);或其任何组合。作为示例,电路可以包括分立的互连硬件组件或可以被组合在单个集成电路管芯上、被分布在多个集成电路管芯中或被实施在普通包中的多个集成电路管芯的多芯片模块(MCM)。
相应地,电路可以存储或访问用于执行的指令或可以单独以硬件实施其功能。指令可以被存储在除暂态信号外的有形存储介质中,诸如闪速存储器、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM);或在磁或光盘上,诸如光盘只读存储器(CDROM)、硬盘驱动器(HDD)或其他磁或光盘;或在另一机器可读介质中或上。产品(诸如计算机程序产品)可以包括被存储在介质中或上的存储介质和指令,并且当由设备中的电路执行指令时可以使得设备实施上文所描述或附图中所图示的处理中的任一个。
实施方式可以是分布式的。例如,电路可以包括多个不同的系统组件(诸如多个处理器和存储器),并且可以跨越多个分布式处理系统。参数、数据库和其他数据结构可以分隔地存储和管理、可以被合并到单个存储器或数据库中、可以以许多不同的方式逻辑地和物理地组织并且可以以许多不同的方式实施。示例实施方式包括链接列表、程序变量、哈希表、数组、记录(例如,数据库记录)、对象和隐含的存储机制。指令可以形成单个程序的部分(例如,子例程或其他代码段)、可以形成多个分隔的程序、可以跨越多个存储器和处理器分布并且可以以许多不同的方式实施。示例实施方式包括独立式程序,并且作为库(诸如类似动态链接库(DLL)的共享库)的一部分。例如,库可以包含包括当由电路执行时执行上文所描述或在附图中所图示的处理中的任一个的指令的共享数据和一个或多个共享程序。
已经明确地描述各种实施方式。然而,许多其他实施方式也是可能的。
Claims (14)
1.一种用于可视化建模的方法,包括:
在分布式计算设计系统中:
生成可视化分布式计算设计工作空间的图形用户界面,所述可视化分布式计算设计工作空间包括:
节点调色板,包括单独地可选择的节点,所述单独地可选择的节点各自具有图形表示并且与在预定目标分布式计算集群上可用的分布式计算功能相对应;
链接工具,用于建立所述单独地可选择的节点之间的连接链接;以及
数字画布;
通过可视化建模电路响应于与所述图形用户界面的交互以通过以下各项促进可视化地建立数据模型:
接受对来自所述节点调色板的特定节点的节点选择;
将所述特定节点放置在所述数字画布上;
接受对所述特定节点之间的数据流连接的链接选择;
链接由所述链接选择所指定的所述特定节点以形成所述数据模型的表示;
在所述可视化分布式计算设计工作空间上生成节点动作选择器,当所述特定节点中的一个节点被选择时,所述节点动作选择器被在所述数字画布上的所述特定节点中的每个节点上可用的动作填充,所述动作包括“显示数据”动作,被配置为视觉化流出所选择的所述特定节点的数据;以及
针对所选择的所述特定节点中的每个节点:
当以下条件中的一个条件被满足时,将节点标志设置为第一状态,以指示所选择的所述特定节点先前未被处理,所述条件包括:所选择的所述特定节点未被处理、未被改变或者链接到所选择的所述特定节点的上游的节点具有所述第一状态的节点标志,或者将所述节点标志设置为不同于所述第一状态的第二状态,以指示所述节点先前已经被处理;
生成针对所述数据模型的交互式计算会话执行代码;
在交互式会话服务器上产生专用交互式计算会话,以将所述数据模型的执行与所述预定目标分布式计算集群隔离,所述交互式会话服务器不同于所述预定目标分布式计算集群;
在所述专用交互式计算会话内执行所述交互式计算会话执行代码,其中所述交互式计算会话执行代码针对具有所述第一状态的所述节点标志的、所选择的特定节点而被执行,并且针对具有所述第二状态的所述节点标志的、所选择的所述特定节点而不被执行;
响应于在针对所述特定节点中的所选择的所述节点的所述节点动作选择器上选择所述“显示数据”动作,提供由执行针对所述特定节点中的所选择的所述节点的所述交互式计算会话执行代码所生成的输出数据,并且在所述图形用户界面中呈现所述输出数据,其中当所述节点标志被设置为所述第一状态时,所述输出数据是由执行与所述特定节点中的所选择的所述节点相关联的所述执行代码所新生成的,并且当所述节点标志被设置为所述第二状态时,所述输出数据是在处理所述执行代码的先前迭代中生成的、先前被存储的输出数据;
在所述专用交互式计算会话中呈现针对数据模型的执行结果;
生成用于所述数据模型的分布式计算执行代码,所述分布式计算执行代码被生成以用于所述预定目标分布式计算集群;
将所述分布式计算执行代码封装到部署包中;以及
将所述部署包部署到所述预定目标分布式计算集群。
2.根据权利要求1所述的方法,其中:
所述单独地可选择的节点包括输入定义节点、数据探索节点、数据准备节点、建模节点、回溯测试节点或它们的任何组合。
3.根据权利要求1所述的方法,其中:
所述动作包括:“编辑”动作,其被配置为改变节点配置,并且响应于选择针对所选择的所述特定节点的所述“编辑”动作,与所选择的所述特定节点相关联的设置页面被显示在所述图形用户界面中,所述设置页面包括特定于所选择的所述特定节点的所述功能的特征、设置或命令。
4.根据权利要求1所述的方法,其中:
所述动作包括“运行”动作,其被配置为引起与所述分布式计算设计系统外部的计算引擎的交互。
5.根据权利要求1所述的方法,其中:
所述动作包括“部署”动作,其被配置为选择从所述数字画布上的所挑选的节点到包括节点集合的预定开始点的路径,并且将所述路径指派为用于所述数字画布上的所述节点集合的总体模型的行为表示。
6.一种用于可视化建模的系统,包括:
图形用户界面电路,其被配置为生成可视化分布式计算设计工作空间的图形用户界面,所述可视化分布式计算设计工作空间包括:
节点调色板,包括单独地可选择的节点,所述单独地可选择的节点各自具有图形表示并且与在预定目标分布式计算集群上可用的分布式计算功能相对应;
链接工具,用于建立所述单独地可选择的节点之间的连接链接;以及
数字画布;以及
建模电路,响应于与所述图形用户界面的交互以促进可视化地建立数据模型,所述建模电路被配置为:
接受对来自所述节点调色板的特定节点的节点选择;
将所述特定节点放置在所述数字画布上;
接受对所述特定节点之间的数据流连接的链接选择;
链接由所述链接选择所指定的所述特定节点以形成所述数据模型的表示;
在所述可视化分布式计算设计工作空间上生成节点动作选择器,当所述特定节点中的一个节点被选择时,所述节点动作选择器被在所述数字画布上的所述特定节点中的每个节点上可用的动作填充,所述动作包括“显示数据”动作,被配置为视觉化流出所选择的所述特定节点的数据;以及
针对所选择的所述特定节点中的每个节点:
当以下条件中的一个条件被满足时,将节点标志设置为第一状态,以指示所选择的所述特定节点先前未被处理,所述条件包括:所选择的所述特定节点未被处理、已经被改变或者链接到所选择的所述特定节点的上游的节点具有所述第一状态的节点标志,或者将所述节点标志设置为不同于所述第一状态的第二状态,以指示所述节点先前已经被处理;
交互式会话客户端电路,还被配置为:
生成针对所述数据模型的交互式计算会话执行代码;
在交互式会话服务器上产生专用交互式计算会话,以将所述数据模型的执行与所述预定目标分布式计算集群隔离,所述交互式会话服务器不同于所述预定目标分布式计算集群;
在所述专用交互式计算会话内执行所述交互式计算会话执行代码,其中所述交互式计算会话执行代码针对具有所述第一状态的所述节点标志的、所选择的特定节点而被执行,并且针对具有所述第二状态的所述节点标志的、所选择的所述特定节点而不被执行;
响应于在针对所述特定节点中的所选择的所述节点的所述节点动作选择器上选择所述“显示数据”动作,提供由所述特定节点中的所选择的所述节点生成的输出数据,并且在所述图形用户界面中呈现所述输出数据,其中当所述节点标志被设置为所述第一状态时,所述输出数据是由执行与所述特定节点中的所选择的所述节点相关联的所述执行代码所新生成的,并且当所述节点标志被设置为所述第二状态时,所述输出数据是在处理所述执行代码的先前迭代中生成的、先前被存储的输出数据;
在所述专用交互式计算会话中呈现针对数据模型的执行结果;以及
模型文件建立电路,其可操作为:
生成用于所述数据模型的分布式计算执行代码,所述分布式计算执行代码被生成以用于在所述预定目标分布式计算集群中执行;
将所述分布式计算执行代码封装到部署包中;以及
将所述部署包部署到所述预定目标分布式计算集群。
7.根据权利要求6所述的系统,其中:
所述单独地可选择的节点包括输入定义节点、数据探索节点、数据准备节点、建模节点、回溯测试节点或它们的任何组合。
8.根据权利要求6所述的系统,其中:
所述动作包括:“编辑”动作,其被配置为改变节点配置,并且所述交互式会话客户端电路还被配置为:在所述图形用户界面中显示与所选择的所述特定节点相关联的设置页面,所述设置页面包括特定于所选择的所述特定节点的所述功能的特征、设置或命令。
9.根据权利要求6所述的系统,其中:
所述动作包括“运行”动作,其被配置为引起与所述分布式计算设计系统外部的交互式会话服务器的交互。
10.根据权利要求6所述的系统,其中:
所述动作包括“部署”动作,其被配置为选择从所述数字画布上的所挑选的节点到包括节点集合的预定开始点的路径,并且将所述路径指派为用于所述数字画布上的所述节点集合的总体模型的行为表示。
11.一种用于可视化建模的方法,包括:
在可视化建模机器处:
提供图形用户界面,所述图形用户界面包括可视化分布式计算设计工作空间;
接收对节点的选择和将一个所选择的节点链接到至少一个其他节点的链接选择,所述链接选择包括数据模型的部分;
在所述可视化分布式计算设计工作空间上生成节点动作选择器,当特定节点被选择时,所述节点动作选择器被在所述节点上可用的动作填充,所述动作包括“显示数据”动作,被配置为视觉化流出所选择的所述特定节点的数据;以及
当以下条件中的一个条件被满足时,将针对所选择的所述特定节点的节点标志设置为第一状态,以指示所选择的所述特定节点先前未被处理,所述条件包括:所选择的所述特定节点未被处理、已经被改变或者链接到所选择的所述特定节点的上游的节点具有所述第一状态的节点标志,或者将针对所选择的所述特定节点的所述节点标志设置为不同于所述第一状态的第二状态,以指示所述节点先前已经被处理;
生成用于所述数据模型的交互式计算会话执行代码,以将所述数据模型的执行与预定目标分布式计算集群隔离,所述交互式会话服务器不同于所述预定目标分布式计算集群;
在交互式会话服务器上产生专用交互式计算会话;
引起所述交互式会话服务器在所述专用交互式计算会话内执行所述交互式计算会话执行代码,其中所述交互式计算会话执行代码针对具有所述第一状态的所述节点标志的、所选择的特定节点而被执行,并且针对具有所述第二状态的所述节点标志的、所选择的所述特定节点而不被执行;
响应于在针对所选择的所述特定节点的所述节点动作选择器上选择所述“显示数据”动作,提供由所选择的所述特定节点生成的输出数据,并且在所述图形用户界面中呈现所述输出数据,其中当所述节点标志被设置为所述第一状态时,所述输出数据是由执行与所选择的所述特定节点相关联的所述执行代码所新生成的,并且当所述节点标志被设置为所述第二状态时,所述输出数据是在执行的先前迭代中生成的、先前被存储的输出数据;
利用数据子集来训练所述交互式计算会话执行代码以开发经训练的数据模型;
生成针对所述经训练的数据模型的分布式计算执行代码,所述分布式计算执行代码被生成以用于在所述预定目标分布式计算集群中执行;
通过模型文件建立电路将所述分布式计算执行代码封装到部署包中;以及
通过模型部署电路将所述部署包部署到所述预定目标分布式计算集群。
12.根据权利要求11所述的方法,还包括:
提供节点调色板,所述节点调色板包括单独地可选择的节点,所述单独地可选择的节点各自具有图形表示并且与在所述预定目标分布式计算集群上可用的分布式计算功能相对应。
13.根据权利要求11所述的方法,还包括:
从所述交互式会话服务器接收来自在所述专用交互式计算会话内执行所述交互式计算会话执行代码的结果;以及
经由所述图形用户界面显示所述结果。
14.根据权利要求11所述的方法,还包括:
在训练所述交互式计算会话执行代码以开发所述经训练的数据模型后,在所述节点内设置训练标志和/或将所述经训练的数据模型存储作为在所述专用交互式计算会话中可变的模型。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662329824P | 2016-04-29 | 2016-04-29 | |
US62/329,824 | 2016-04-29 | ||
US15/420,947 US11080435B2 (en) | 2016-04-29 | 2017-01-31 | System architecture with visual modeling tool for designing and deploying complex models to distributed computing clusters |
US15/420,947 | 2017-01-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107450902A CN107450902A (zh) | 2017-12-08 |
CN107450902B true CN107450902B (zh) | 2022-06-24 |
Family
ID=58714908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710289874.7A Active CN107450902B (zh) | 2016-04-29 | 2017-04-27 | 用于可视化建模的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11080435B2 (zh) |
EP (1) | EP3239835B1 (zh) |
CN (1) | CN107450902B (zh) |
AU (1) | AU2017202599B2 (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10387798B2 (en) | 2015-12-16 | 2019-08-20 | Accenture Global Solutions Limited | Machine for development of analytical models |
US10438132B2 (en) | 2015-12-16 | 2019-10-08 | Accenture Global Solutions Limited | Machine for development and deployment of analytical models |
US11080435B2 (en) | 2016-04-29 | 2021-08-03 | Accenture Global Solutions Limited | System architecture with visual modeling tool for designing and deploying complex models to distributed computing clusters |
US10871753B2 (en) | 2016-07-27 | 2020-12-22 | Accenture Global Solutions Limited | Feedback loop driven end-to-end state control of complex data-analytic systems |
EP3376373A1 (en) * | 2017-03-15 | 2018-09-19 | Siemens Aktiengesellschaft | A method for deployment and execution of a machine learning model on a field device |
US10891114B2 (en) * | 2017-08-17 | 2021-01-12 | Tibco Software Inc. | Interpreter for interpreting a data model algorithm and creating a data schema |
US11948116B2 (en) * | 2017-09-22 | 2024-04-02 | 1Nteger, Llc | Systems and methods for risk data navigation |
US10997541B2 (en) * | 2017-09-22 | 2021-05-04 | 1Nteger, Llc | Systems and methods for investigating and evaluating financial crime and sanctions-related risks |
US20200311617A1 (en) * | 2017-11-22 | 2020-10-01 | Amazon Technologies, Inc. | Packaging and deploying algorithms for flexible machine learning |
US10666583B2 (en) * | 2017-11-27 | 2020-05-26 | Baidu Usa Llc | System and method for visually understanding and programming conversational agents of electronic devices |
CN107967359B (zh) * | 2017-12-21 | 2022-05-17 | 百度在线网络技术(北京)有限公司 | 数据可视分析方法、系统、终端和计算机可读存储介质 |
CA3040367A1 (en) * | 2018-04-16 | 2019-10-16 | Interset Software, Inc. | System and method for custom security predictive models |
US11138376B2 (en) * | 2018-05-21 | 2021-10-05 | State Street Corporation | Techniques for information ranking and retrieval |
CN108830383B (zh) * | 2018-05-30 | 2021-06-08 | 第四范式(北京)技术有限公司 | 用于展示机器学习建模过程的方法及系统 |
JP7381502B2 (ja) * | 2018-06-06 | 2023-11-15 | プレシエント デバイシーズ, インコーポレイテッド | 分散型異種コンピューティングおよび制御システムを設計する方法およびシステム |
US10768904B2 (en) * | 2018-10-26 | 2020-09-08 | Fuji Xerox Co., Ltd. | System and method for a computational notebook interface |
US10896032B2 (en) | 2018-11-02 | 2021-01-19 | Accenture Global Solutions, Limited | System and method for certifying and deploying instruction code |
US11640286B2 (en) | 2018-12-31 | 2023-05-02 | Equifax Inc. | Production-ready attributes creation and management for software development |
CN110196935B (zh) * | 2019-06-06 | 2021-03-30 | 山东大学 | 一种基于数据分布的调色板生成方法及系统 |
CN110262807B (zh) * | 2019-06-20 | 2023-12-26 | 北京百度网讯科技有限公司 | 集群创建进度日志采集系统、方法和装置 |
CN112148926A (zh) * | 2019-06-28 | 2020-12-29 | 京东数字科技控股有限公司 | 一种图数据流的处理方法、处理装置和存储介质 |
CN110532020B (zh) * | 2019-09-04 | 2023-12-05 | 中国工商银行股份有限公司 | 一种微服务编排的数据处理方法、装置及系统 |
CN110569031B (zh) * | 2019-09-10 | 2021-11-16 | 联想(北京)有限公司 | 编程实现方法和装置 |
CN110908573B (zh) * | 2019-12-03 | 2021-07-06 | 北京明略软件系统有限公司 | 算法模型训练方法、装置、设备及存储介质 |
US11526159B2 (en) | 2020-02-14 | 2022-12-13 | Rockwell Automation Technologies, Inc. | Augmented reality human machine interface testing |
CN111666100B (zh) * | 2020-05-13 | 2023-12-15 | 深圳思为科技有限公司 | 软件框架生成方法、装置、电子设备及存储介质 |
CN112115196A (zh) * | 2020-08-06 | 2020-12-22 | 中海创科技(福建)集团有限公司 | 一种工业大数据可视化建模方法及系统 |
US11675936B2 (en) * | 2020-09-28 | 2023-06-13 | Rockwell Automation Technologies, Inc. | Unifying multiple simulation models |
CN112379867B (zh) * | 2020-11-10 | 2022-11-11 | 杭州万高科技股份有限公司 | 一种基于模块化开发的嵌入式操作系统、方法及存储介质 |
US11307834B1 (en) * | 2020-11-11 | 2022-04-19 | Fileonq, Inc. | Platform for rapid application development |
CN113110833A (zh) * | 2021-04-15 | 2021-07-13 | 成都新希望金融信息有限公司 | 机器学习模型可视化建模方法、装置、设备及存储介质 |
CN113342313B (zh) * | 2021-05-21 | 2023-04-18 | 上海大学 | 一种基于参数服务器异步更新Spark MLlib中线性分类模型参数的方法 |
CN113420377A (zh) * | 2021-06-24 | 2021-09-21 | 树根互联股份有限公司 | 一种工业产品分层展示交互方法、装置、电子设备及介质 |
CN113448806B (zh) * | 2021-06-30 | 2022-12-09 | 平安证券股份有限公司 | 数据库集群异常检测方法、装置、终端设备及存储介质 |
CN114169111B (zh) * | 2022-02-11 | 2022-04-26 | 杭州杰牌传动科技有限公司 | 一种交互性的减速机个性化配置系统及方法 |
CN117716335A (zh) * | 2022-07-15 | 2024-03-15 | 京东方科技集团股份有限公司 | 大数据集群部署方法以及基于大数据集群的数据处理方法 |
CN117716336A (zh) * | 2022-07-15 | 2024-03-15 | 京东方科技集团股份有限公司 | 数据处理方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093047A (zh) * | 2013-01-12 | 2013-05-08 | 天津大学 | 典型飞行器视景仿真系统 |
CN103502899A (zh) * | 2011-01-26 | 2014-01-08 | 谷歌公司 | 动态预测建模平台 |
CN105051760A (zh) * | 2013-03-15 | 2015-11-11 | 费希尔-罗斯蒙特系统公司 | 数据建模工作室 |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6983227B1 (en) * | 1995-01-17 | 2006-01-03 | Intertech Ventures, Ltd. | Virtual models of complex systems |
US5991535A (en) | 1996-07-03 | 1999-11-23 | Sun Microsystems, Inc. | Visual composition tool for constructing application programs using distributed objects on a distributed object network |
US6208345B1 (en) * | 1998-04-15 | 2001-03-27 | Adc Telecommunications, Inc. | Visual data integration system and method |
US6823495B1 (en) * | 2000-09-14 | 2004-11-23 | Microsoft Corporation | Mapping tool graphical user interface |
US7035944B2 (en) * | 2001-09-19 | 2006-04-25 | International Business Machines Corporation | Programmatic management of software resources in a content framework environment |
US7092941B1 (en) * | 2002-05-23 | 2006-08-15 | Oracle International Corporation | Clustering module for data mining |
US20150235143A1 (en) * | 2003-12-30 | 2015-08-20 | Kantrack Llc | Transfer Learning For Predictive Model Development |
US7793258B2 (en) * | 2004-03-15 | 2010-09-07 | Ramco Systems Limited | Software development using visual interfaces |
US8271541B2 (en) * | 2004-03-31 | 2012-09-18 | Fusionops Corporation | Method and apparatus for developing composite applications |
US7827560B2 (en) | 2005-05-11 | 2010-11-02 | Siemens Aktiengesellschaft | System and method for time controlled program execution |
US8156469B2 (en) * | 2005-12-29 | 2012-04-10 | Sap Ag | Single composition of pattern modules |
US20070240080A1 (en) * | 2006-04-11 | 2007-10-11 | Invensys Systems, Inc. | Strategy editor for process control supporting drag and drop connections to declarations |
CA2669606A1 (en) * | 2009-06-22 | 2010-12-22 | Ibm Canada Limited - Ibm Canada Limitee | Tool for graphically visualizing and configuring patterns |
US9094292B2 (en) * | 2009-08-31 | 2015-07-28 | Accenture Global Services Limited | Method and system for providing access to computing resources |
US8719804B2 (en) | 2010-05-05 | 2014-05-06 | Microsoft Corporation | Managing runtime execution of applications on cloud computing systems |
US20120151393A1 (en) | 2010-12-10 | 2012-06-14 | Henrik Arndt | Manipulation of elements and their attributes in graphical user interfaces |
US8533222B2 (en) * | 2011-01-26 | 2013-09-10 | Google Inc. | Updateable predictive analytical modeling |
US8229864B1 (en) * | 2011-05-06 | 2012-07-24 | Google Inc. | Predictive model application programming interface |
US8364613B1 (en) | 2011-07-14 | 2013-01-29 | Google Inc. | Hosting predictive models |
US20150170048A1 (en) | 2011-08-12 | 2015-06-18 | Wei-Hao Lin | Determining a Type of Predictive Model for Training Data |
US8370279B1 (en) | 2011-09-29 | 2013-02-05 | Google Inc. | Normalization of predictive model scores |
US9043344B1 (en) * | 2011-11-03 | 2015-05-26 | Yi-Ling Chen | Data mining and model generation using an in-database analytic flow generator |
WO2013078269A1 (en) | 2011-11-22 | 2013-05-30 | Solano Labs, Inc. | System of distributed software quality improvement |
US20150161385A1 (en) | 2012-08-10 | 2015-06-11 | Concurix Corporation | Memory Management Parameters Derived from System Modeling |
US20140046879A1 (en) | 2012-08-13 | 2014-02-13 | Predixion Software, Inc. | Machine learning semantic model |
US9463334B2 (en) | 2013-03-15 | 2016-10-11 | Varian Medical Systems International Ag | Radiation therapy planing using integrated model |
CN104951637B (zh) | 2014-03-25 | 2018-04-03 | 腾讯科技(深圳)有限公司 | 一种获取训练参数的方法及装置 |
US10462004B2 (en) * | 2014-04-15 | 2019-10-29 | Splunk Inc. | Visualizations of statistics associated with captured network data |
US10078325B2 (en) | 2014-05-06 | 2018-09-18 | Autodesk, Inc. | Systems and methods for designing programmable parts for models and optimizing 3D printing |
GB2541625A (en) | 2014-05-23 | 2017-02-22 | Datarobot | Systems and techniques for predictive data analytics |
US9582261B2 (en) * | 2014-06-26 | 2017-02-28 | Vmware, Inc. | Methods and apparatus to update application deployments in cloud computing environments |
US20160132787A1 (en) | 2014-11-11 | 2016-05-12 | Massachusetts Institute Of Technology | Distributed, multi-model, self-learning platform for machine learning |
US9996804B2 (en) | 2015-04-10 | 2018-06-12 | Facebook, Inc. | Machine learning model tracking platform |
US9667533B2 (en) * | 2015-09-17 | 2017-05-30 | Nxp Usa, Inc. | Creating and utilizing customized network applications |
US9684490B2 (en) | 2015-10-27 | 2017-06-20 | Oracle Financial Services Software Limited | Uniform interface specification for interacting with and executing models in a variety of runtime environments |
US10438132B2 (en) * | 2015-12-16 | 2019-10-08 | Accenture Global Solutions Limited | Machine for development and deployment of analytical models |
US10387798B2 (en) * | 2015-12-16 | 2019-08-20 | Accenture Global Solutions Limited | Machine for development of analytical models |
US11080435B2 (en) | 2016-04-29 | 2021-08-03 | Accenture Global Solutions Limited | System architecture with visual modeling tool for designing and deploying complex models to distributed computing clusters |
US10871753B2 (en) | 2016-07-27 | 2020-12-22 | Accenture Global Solutions Limited | Feedback loop driven end-to-end state control of complex data-analytic systems |
-
2017
- 2017-01-31 US US15/420,947 patent/US11080435B2/en active Active
- 2017-04-19 AU AU2017202599A patent/AU2017202599B2/en active Active
- 2017-04-25 EP EP17167892.3A patent/EP3239835B1/en active Active
- 2017-04-27 CN CN201710289874.7A patent/CN107450902B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103502899A (zh) * | 2011-01-26 | 2014-01-08 | 谷歌公司 | 动态预测建模平台 |
CN103093047A (zh) * | 2013-01-12 | 2013-05-08 | 天津大学 | 典型飞行器视景仿真系统 |
CN105051760A (zh) * | 2013-03-15 | 2015-11-11 | 费希尔-罗斯蒙特系统公司 | 数据建模工作室 |
Also Published As
Publication number | Publication date |
---|---|
AU2017202599A1 (en) | 2017-11-16 |
US11080435B2 (en) | 2021-08-03 |
EP3239835A1 (en) | 2017-11-01 |
CN107450902A (zh) | 2017-12-08 |
US20170316114A1 (en) | 2017-11-02 |
AU2017202599B2 (en) | 2018-08-02 |
EP3239835B1 (en) | 2023-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107450902B (zh) | 用于可视化建模的方法和系统 | |
JP6937357B2 (ja) | データ処理方法および関連製品 | |
US10565095B2 (en) | Hybrid testing automation engine | |
AU2016259298B2 (en) | Machine for development and deployment of analytical models | |
US10902195B2 (en) | Apparatuses, systems, and methods for providing a visual program for machine vision systems | |
US20220138004A1 (en) | System and method for automated production and deployment of packaged ai solutions | |
EP3182280A1 (en) | Machine for development of analytical models | |
US20160170742A1 (en) | Automated approach for integrating automated function library functions and algorithms in predictive analytics | |
CN110941467A (zh) | 数据处理方法、装置及系统 | |
CN112199086A (zh) | 自动编程控制系统、方法、装置、电子设备及存储介质 | |
US11861469B2 (en) | Code generation for Auto-AI | |
Fursin | Collective knowledge: organizing research projects as a database of reusable components and portable workflows with common interfaces | |
CN106406999A (zh) | 计算系统和计算系统的执行控制方法 | |
Chaudhary et al. | Low-code internet of things application development for edge analytics | |
CN106096159B (zh) | 一种云平台下的分布式系统行为仿真分析系统的实现方法 | |
Yoon et al. | TensorFlow with user friendly Graphical Framework for object detection API | |
US20140214731A1 (en) | Method and System for Automated Computer Program Generation | |
US11681511B2 (en) | Systems and methods for building and deploying machine learning applications | |
US20220197607A1 (en) | System and method for developing user interface applications | |
WO2022153063A1 (en) | Quantum computing system and method | |
Okamoto et al. | SUNPRISM: An approach and software tools for collaborative climate change research | |
US12001823B2 (en) | Systems and methods for building and deploying machine learning applications | |
Borgli et al. | Saga: An Open Source Platform for Training Machine Learning Models and Community-driven Sharing of Techniques | |
Pierantoni et al. | HELIOGate, a portal for the heliophysics community | |
Huang et al. | Lifting Existing Applications to the Cloud: Abstractions, Separation of Responsibilities and Tooling Support. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |