第三章:Sentosa_DSML社区版快速入门
3.1界面总览
3.1.1界面概览
如图所示为Sentosa_DSML社区版界面示意图,
算子流画布是Sentosa_DSML社区版界面窗口的最大区域,也是构建和操纵数据流的位置。流是在界面的主画布中通过绘制与业务相关的数据操作图来创建的。每个操作都用一个算子图标表示,这些算子通过流连线链接在一起,流连线表示数据在各个操作之间的流动,具有方向性。
在数据分析挖掘过程中的每个阶段,都可通过易于使用的界面建立算子流。丰富易用的数据源读入算子方便用户接入各种数据,多种建模算法(如机器学习下的聚类、分类、回归等)可确保用户得到强大而准确的模型。模型结果可以方便地部署并输出到数据库、本地存储和各种其他应用程序中。
3.1.2按钮及快捷键说明
Sentosa_DSML社区版整个页面多种按钮,在画布上也可以通过快捷键和鼠标进行各种操作,本节专门对这些按钮、快捷键和鼠标操作进行说明。在Sentosa_DSML社区版中,可以在同一流工作区或通过打开新的流工作区来一次处理一个或多个流。所有的算子流可以在画布窗口右侧的“我的算子流”中查看。
3.1.2.1图标按键说明
3.1.2.2快捷键说明
3.1.2.3鼠标操作说明
3.1.3帮助说明
Sentosa_DSML社区版提供了帮助说明,点击界面右上角的按钮,在菜单中单击“帮助”,会弹出帮助页面,从头开始显示帮助文档的全部内容。在算子流属性和算子属性编辑框中都有图标,点击图标都可以打开帮助文档,并且会定位到相应的算子流或者对应算子的说明部分。
3.2算子流操作管理
3.2.1算子流构建
使用Sentosa_DSML社区版进行的数据挖掘,就是通过链接在一起的一系列算子运行数据的过程,我们将这一过程称为算子流。这一系列算子代表要对数据进行的操作,而算子之间的链接指示数据流的方向。通常,您可以使用数据读入算子将数据读入Sentosa_DSML社区版,通过一系列操作运行数据,然后将其发送至某个地方,如表格或数据库。
3.2.2构建算子流
通过Sentosa_DSML社区版界面,可以使用算子流图直观地挖掘数据。从最基本的操作开始,您可采用下列步骤构建算子流:
1.新建算子流;2.将算子添加到画布;3.连接算子以形成流;4.指定任意算子或流选项;5.运行流。
3.2.3新建算子流
Sentosa_DSML社区版新建算子流默认的名称为“新增算子流x”,x为从0开始不断累加的整数。新建算子流2种方法:
1)页面没有打开算子流的情况下,直接将任意算子拖到画布上时,同时会创建新的算子流。
2)点击“新建算子流按钮”。
3.2.4使用算子
在Sentosa_DSML社区版中,算子用于帮助您研究数据。界面左侧算子选用板中的各种算子分别代表不同的对象和操作,算子选用版包含流构建中可用的所有算子。Sentosa_DSML社区版提供多种类型的算子。数据读入算子将数据导入到流中,它位于算子选用板的“数据读入”选项卡上。过程算子在单个数据记录和字段上执行操作,它位于选用板的“行处理”、“列处理”、“数据融合”、“统计分析”(数据描述算子也属于终端算子)、“特征工程”、“线性规划”、“扩展编程”选项卡上。输出算子为数据、图表和模型结果生成各种输出,并包含在算子选用板的“图形算子”和“数据输出”选项卡上。建模算子使用统计算法创建模型块,它位于算子选用板的“机器学习”(模型评估算子仅做模型的评估,也属于终端算子)选项卡上。连接算子会形成流,当运行流时,可以直观地查看算子之间的关系并得出结论。流类似于脚本可以保存并将其重新用于其他数据文件。处理流数据的可运行算子称为终端算子。如果建模算子或输出算子位于流或流分支的末端,则为终端算子。您不能将终端算子连接到其他算子。
3.2.4.1算子添加至算子流
将算子从算子选用板拖放到画布,右击该算子可显示相应的对话框。可用选项取决于您要添加的算子的类型。
要从算子流中除去某个算子,请单击该算子并按 Delete 键,或者单击鼠标右键并从菜单中选择删除。
3.2.4.2连接流中的算子
已添加到画布的算子在连接之前不会形成数据流。算子之间的连接指示数据从一项操作流向下一项操作的方向。连接算子以形成流的方法有以下两种:使用算子连接图标或通过菜单手动连接。
3.2.4.3设置算子选项
创建并连接算子后,右键单击算子,然后选择某个菜单选项(鼠标移动到图标上会显示对应的按钮文字图标)。
单击编辑可打开选定算子的属性对话框。
单击连接可将一个算子手动连接到另一个算子。
单击断开连接可删除出该算子的所有链接。
单击删除可从算子流中删除选定算子。
单击复制复制不包含连接的算子。
单击重命名可修改算子的名称。
单击预览可以预览经过算子读入或者处理的数据。
单击打开缓存可以打开算子的数据缓存功能。
3.2.4.4算子的批量操作
圈选多个算子,点击右键查看菜单:
单击断开连接只会将文本和类型算子之间的连接断开。
单击复制会将文本和类型算子以及两个算子之间的连接一起复制,能一起粘贴到该算子流其他位置或其他算子流。
单击删除会将文本和类型算子以及两个算子之间的连接一起删除
3.2.4.5预览算子中的数据
为确保在构建流时数据以期望的方式更改,可以在每个重要步骤上通过添加“表格”算子,然后运行算子流数据来查看,但是这样做会很繁琐。为了方便查看数据,在每个非终端算子提供了预览功能,可以显示将要创建的数据样本,从而减少构建每个算子流所需的时间。
对于模型块的上游算子,预览显示输入字段;对于模型块或其下游算子(不含终端算子),预览显示输入和产生的字段。
预览方法有两种方法:
1)右键点击算子,在菜单中点击预览。
2)在算子属性弹框中点击预览按钮。
注: 预览缺省显示数据的行数为200行。预览此算子生成的数据时,将对应此算子最近一次提交后的属性,且预览过程中无法取消。
3.2.5设置算子流
在画布中连接数据读取、过程或者建模算子生成的模型和终端算子后,便创建了一个流。作为算子集合,可以对流进行保存、添加,还可以将其添加到工程。此外,还可以为流设置参数和脚本。这些属性将在下面的主题中进行介绍。
3.2.5.1粘贴算子到算子流
粘贴之前复制算子到算子流有两种方法:
1)右键点击画布空白处,在菜单中点击粘贴。
2)使用Ctrl+V快捷键。
3.2.5.2删除画布上所有的算子和算子流
清除画布上所有的算子、模型和算子流。
清除画布上所有的算子和算子流有两种方法:
1)右键点击画布空白处,在菜单中点击清空
2)点击菜单栏中的清空按钮。
3)鼠标圈选所有算子或使用菜单栏中的全选键选中全部算子,右键点击删除或使用DELETE键。
3.2.6算子流属性设置
在画布空白出点击右键弹出算子流菜单,在菜单中点击算子流属性,弹出算子流属性框。算子流属性框中显示算子流ID,以及全局参数、算子流设置、数据格式、交叉验证、和算子流注释五个配置页面。
3.2.6.1全局参数
全局参数是根据需要设置一些参数,其他算子可以通过这些参数名称进行引用,方便修改和查阅。
1.全局参数设置方法:
1)在画布空白出点击右键弹出算子流菜单,在菜单中点击算子流属性。
2)在“全局参数”页面点击算子流属性弹框长方框中的“+”,添加参数框。
3)根据列名依次在参数框中填写“参数名称”、“参数值”。
4)参数添加完成后点击“确定”按钮进行提交。
2.删除全局参数方法:
1)在“全局参数”页面,点击要删除参数行尾的红色“-”按钮,就会删除对应的参数行。
2)点击“重置”按钮会删除所有的参数行。
3)删除完成后点击“确定”。
3.使用全局参数方法:
在算子流属性框中使用“#”加全局变量参数名称并以“#”结尾即可引用对应全局参数的参数值。
注:如果设置了全局参数,在算子属性框中输入“#”后会自动弹出所有全局参数的参数名称列表供用户选择。
举例如下:
4.设置全局参数:
5.引用全局参数:
3.2.6.2算子流设置
算子流中连接多个分支的算子自动缓存的开启/关闭配置,默认为开启。
如上算子流,类型算子和模型算子连接了多个分支,如果多分支缓存开关开启,在第一次执行后,类型算子和模型算子的数据会自动缓存,下次执行时会读取缓存数据,缩短算子流执行时间。
2)随机种子设置,为算子流设置固定随机种子,默认为1。
3)算子流出数据条目数,默认设置为否。算子流出数据条目数为统计单个算子处理过的数据条目数,设置为是时,执行算子流后,会在算子流右上角显示当前算子处理过的数据条目数。更直观观察到处理的数据数量。
4)DataModel配置参数及默认值如图3.2.6.3-4所示,通过设置采样比率和最大采样数,根据获得的样本判断每列数据的数据类型;当列数据的类别超过判别为typeless的类别阈值设置值时,判断该列类型为typeless。
3.2.6.3数据格式
数据格式(DataFormat)可配置算子流中显示和输出格式。显示格式用于算子流中的预览等操作,输出格式用于算子流中写出文件等。同时数据格式可支持对数字和日期时间格式进行配置。
数字格式如图所示,包含两种配置选项:标准表示法、科学表示法,默认保留小数位数为3,用户可自定义修改,支持范围为0到20的整数。
时间日期格式如图所示,可通过下拉框选择系统预置格式,同时包含自定义选项。选择自定义,可在右侧输入框中输入可解析的数据格式。
3.2.6.4交叉验证
叉验证(CorssValidation)是一种既能利用所有数据信息,又能评估模型效果的一种方法。交叉验证是一个多次建模验证的过程,每次建模用不同的训练数据和验证数据,从而达到利用所有的数据的目的。
交叉验证有多重方法:留一法(K折法的一种特例)、自助法、K折法,最常用的为K折法,Sentosa_DSML社区版目前只使用K折法。
交叉验证配置页面:
1)该页面内会列出当前算子流内所有的分类和回归建模节点。
2)每个建模节点可以配置两个参数:
a.K,默认为5,用户可以配置,取值范围为大于等于2的整数;
b.测量类型(必选,可多选):根据建模类型不同,可选择值不同。
举例如下:
勾选逻辑回归进行交叉验证,交叉K数设置为5,测量类型为全选,所有测量数据被平均分为5份,分别取其中4份为测试数据,1份为验证数据建模。
执行结果如下,因交叉K数设为5,则验证迭代次数为5,每次迭代都有所选测量类型的结果,最后取5次迭代的平均值。
3.2.6.5算子流注释
为算子流添加注释。
3.2.7运行算子流
打开算子流,如果算子流有历史运行记录,点击“日志展示框”按钮,弹出的日志展示框中展示的是算子流最近一次运行日志;如果算子流没有历史运行记录,点击“日志展示框”按钮,会弹出“此算子流没有执行任务日志!”的提示框,不会弹出日志展示框。
算子流运行过程中,算子之间的连线会变为蓝绿色且有动态流动效果,同时会弹出同步日志展示框,所在画布被锁止,不能被操作,也不能被再次运行。运行结束后,连线恢复正常(灰色),日志展示框缩回。
运行算子流有2种方法:
1)算子流构建完成后,点击异步运行按钮即可运行。
2)点击界面右上角“我的算子流/最近编辑”,单击打开可以看到算子流管理,单击“打开并运行”按钮,可以打开并运行算子流。
如果算子流包括建模算子(算子选用板的“机器学习”选项卡中的算子,关联规则、推荐、时间序列和模型评估类的算子除外),则在流运行时会创建模型。模型是规则、公式或方程式的集合,允许您针对源数据生成预测,该预测是预测分析的核心。
典型的建模流有两个分支。建模分支包含建模算子以及在其之前的读入算子和过程算子。评分分支在运行建模分支后创建,包含模型和终端节点,或是用于查看预测的算子(具体使用在机器学习章节有详细介绍)。
成功运行建模分支时,相应的模型会自动被生成并置于连接到算子流中,建模算子和模型由自动生成的refreshlink连接,建模算子的前进算子和模块由自动生成的普通连线连接。
refreshlink上有一个refresh功能开关。开关打开时,如果模型的上游算子中的属性有变更,再次运行建模分支,模型会被更新为属性变更后训练的模型;开关关闭时,如果模型的上游算子中的属性有变更,再次运行建模分支,会生成一个新的模型,之前的模型不会被更。如果已经生成多个模型,只要有一条refreshlink上的refresh功能开关是打开的,再次运行建模分支,就都只会更新refresh功能开关打开的模型,不会再生成新的模型 。refresh功能开关默认是打开的,为桔红色连接图标;点击后会变关闭,为灰色断开图标。
模型可以通过“预览”查看预测数据,也可以通过“模型信息”查看建模信息和模型信息,编辑时只能修改模型名称。模型可附加并运行一个或多个终端节点,其输出将以可读取的形式显示预测。
3.2.7.1终止运行中的算子流
Sentosa_DSML社区版提供了终止算子流运行的功能。选中运行中算子流的画布,点击画布右侧的“历史记录”按钮,在弹出的历史记录运行结果栏中,找到状态为“执行中”的记录,点击对应算子流后面的停止按钮,即可终止运行中的算子流。
3.2.7.2查询算子流运行结果
流动效果的红色虚线消失表示算子流运行完成,点击画布右侧的“历史记录”按钮,在弹出“历史运行结果”弹框中可以查询算子流7天内最近20次的执行结果(超过7天或者最近20次之前的运行结果会被系统自动删除),“历史运行结果”栏中的运行结果从上到下以降序排序,最上面的是最近1次的执行结果。算子流运行结果共有三种:执行失败、任务取消、执行成功。
点击想要查询的运行结果记录,即可弹出当次运行结果展示栏,运行结果包括所有输出算子的输出解决及日志。运行结果展示栏的大小还可以通过右上角的“全屏切换”进行切换。
被终止的算子流的结果展示栏只有“MessageOutPut”和日志信息。
运行失败的算子流的结果展示栏只有报错信息和日志信息。
3.3算子流管理
Sentosa_DSML社区版对算子流的管理包括算子流的导出、算子流的导入、算子流的展示、算子流的删除和算子流重命名。
3.3.1算子流的导出
算子流的导出功能可以将在Sentosa_DSML社区版上构建调试好的算子流以str文件格式导出到本地或者其他系统。
导出算子流有2种方法:
点击页面上“算子流导出按钮”,导出算子流 。
2)点击界面右上角“我的算子流/最近编辑”,弹出算子流管理,将鼠标移动至红色框的“导出”即可。
3.3.2算子流的导入
算子流的导入功能是将导出的算子流文件导入到Sentosa_DSML社区版,导入后算子流展示运行正常。
导入算子流有2种方法:
1)点击页面上“算子流导入按钮”,选中导入的算子流文件,点击确定,导入算子流。
2)点击界面右上角“我的算子流/最近编辑”,弹出算子流管理,将鼠标移动至红色框的“导入算子流”即可。
3.3.3算子流的重命名
新建算子流都会以“新增算子流x”位默认名,为了明确分辨算子流,需要对算子流进行重命名。
算子流重命名有两种方法:
1)打开算子流,左键双击画布上放的算子流名字,算子流名周围出现淡蓝色方框,算子流名变为可修改模式,删除原来的名字,输入新的名字,然后按回车键或点击画布空白处,算子流重命名完成。
2)点击画布右侧“我的算子流”,在弹出算子流列表中将鼠标移动到算子流列表中相应的算子流上,单击显示按钮中的“重命名”,算子流名称转为可修改模式,输入新的算子流名后按回车键,算子流重命名完成。
注1:算子流名称不能重复。
注2:算子流执行过程中不能做重命名操作。
3.3.4算子流的展示
算子流展示栏同时可显示多个算子流,如果打开的算子流超过导航栏显示宽度时,部分算子流会被隐藏。可以通过左右两侧的移动按钮移动可显示的算子流。
如果需要切换到被隐藏的算子流,可以通过左右两侧的移动按钮移动可显示出需要操作的算子流并点击该算子流名称就可以切换到所需算子流。
单击界面右上角的“我的算子流/最近编辑”按钮,展示的信息有算子流名称、算子流ID和最后编辑的时间。页面提供了两种算子流的排序方式:按照最后编辑时间排序和按照名称排序,默认是按照最后编辑时间排序。
我的算子流页面还提供了通过文件夹将算子流分类的功能。进入了“我的算子流”页面,点击右上角“创建文件夹”按钮,在弹出框中写入文件夹的名称,点击“确认”按钮即可完成文件夹的创建。
注:
1)展示的时候文件夹默认在最前面,且以文件夹创建时间的降序排列。
将鼠标移动到文件夹上,可以自动显示文件夹的操作按钮:打开、重命名和删除。
点击对应的文件夹或者点击打开按钮都可以打开对应的文件夹。
通过“重命名”按钮可以修改文件夹的名字。文件夹下有算子流也可以修改文件夹的名字。点击“重命名”按钮,文件夹名称转为可修改状态,输入新的名称后按回车键,即可完成文件夹的重命名。
点击“删除”按钮弹出文件夹的确定对话框,点击确定即可删除对应的文件夹。
删除的文件夹下无算子流时才能被删除,文件夹下如果有算子流,无法删除文件夹,且会弹出警示框。
进入了“我的算子流”页面,将鼠标移动到要对应的算子流上,会自动显示算子流的操作按钮:打开并执行、导出,移动至、重命名和删除。
打开并执行按钮是将对应算子在画布上打开,并开始执行算子流。导出即导出对应算子流。
点击算子流的“移动至”按钮,在弹出移动对话框中点击选中对应的文件夹,即可将算子流移动到对应的文件夹中。
注:
1)demoGoup文件夹是放公用demo的文件夹,此文件夹下的文件夹除admin用户外,其他用户都无权操作,其中的算子流除了运行外其他操作是被禁止的,在移动算子流的对话框中demoGoup文件夹也是不可见的。
移动对话框中的root文件夹是算子流的根目录,如果要把其他文件夹下的算子流移动到根目录,只需把算子流移动到root文件夹下即可。
3.3.5算子流的批量操作
算子流可以单个删除,也可以批量删除。
在“我的算子流”页面,点击批量操作按钮进入批量操作模式,弹出的横向菜单提供了全选、反选、取消、删除和移动按钮,且每个算子流前会自动显示复选框。可以手动选择单个或多个要操作的算子流,也可通过全选、反选来自动选择单个或者多个算子流。然后点击删除或者移动对选中的算子流批量删除和移动到对应文件夹中。
点击取消按钮,会退出批量操作模式。
注:只能对算子流进行批量处理,对文件夹不能进行批量操作。
3.4模型可视化
为了让用户了解机器学习生成的模型算子的详细信息,我们为模型算子提供了模型可视化功能。模型可视化分位三种:模型算子基础信息可视化、特定类型模型算子信息可视化和决策树信息可视化。
3.4.1基础信息可视化
所有的模型算子都支持模型算子基础信息可视化,模型算子基础信息可视化是所有建模算子自带的功能,主要包括两个方面:建模信息和模型信息。
机器学习算子根据配置生成模型算子后,选中模型算子,在右击弹出的对话框中选择“模型信息”即可在打开的页面里查看相关建模信息和模型信息。
建模信息页面展示的是建模的时间、用户及参数列表等信息:
模型信息展示模型内部信息,根据调用的模型库目前能提供的信息来展示。
3.4.2可选信息可视化
模型算子可选信息可视化功能只支持回归、分类和聚类三类模型算子,这三类算子同时还拥有基础信息的可视化。
1)回归模型算子可视化
回归模型算子除了基础信息的可视化,还增加了特征重要性、观测值-预测值散点图以及残差直方图。
可以在对应的回归建模算子属性中设置是否在生成的模型算子中展示特征重要性图、观测值-预测值散点图以及残差直方图。如果不勾选,则不会展示对应的图。
特征重要性展示的是其他特征列对于目标列预测的相对重要性:
观测值-预测值散点图上点的X轴为实际值,Y轴为预测值。主要显示预测值和实际值之间的差异。
残差直方图显示均值,标准差,统计个数。
2)分类模型算子可视化
分类模型算子除了基础信息的可视化,还增加了特征重要性及混淆矩阵表。
可以在对应的分类建模算子属性中设置是否在生成的模型算子中展示特征重要性图及混淆矩阵表。如果不勾选,则不会展示对应的图。
特征重要性图和回归模型算子的类似,此处不再赘述。
混淆矩阵表中展示了预测值的准确性。
3)聚类模型算子可视化
聚类模型算子除了基础信息的可视化,还增加了特征重要性图、聚类大小饼状图及聚类分布图。
可以在对应的聚类建模算子属性中设置是否在生成的模型算子中展示特征重要性图、聚类大小饼状图及聚类分布图。如果不勾选,则不会展示对应的图。
特征重要性图和回归模型算子的类似,此处不再赘述。
聚类大小饼状图描述每个聚类在训练集里的样本占比情况。
聚类分布图展示不同列在不同聚类里的柱状图或者概率分布图。每个图分为前景和背景显示。背景为整个样本的柱状图或者概率分布图,前景图为当前聚类下的柱状图或者概率分布图。对于离散型列,生成柱状图,对于连续型列,生成概率分布图。
3.4.3决策树信息可视化
只有LightGBM(包括分类和回归)、AdaBoost(包括分类和回归)、决策树(包括分类和回归)、随机森林(包括分类和回归)、梯度提升决策树(包括分类和回归)、XGBoost(包括分类和回归)这几个算子的模型信息中包含决策树信息可视化功能。
决策树信息可视化是自带的,不能去掉。
决策树信息可视化界面图形显示树的结构及相关数据。
通过视图切换按钮还可以切换到树形成的规则页面,并且通过规则下载按钮下载相应的规则。
为了非商业用途的科研学者、研究人员及开发者提供学习、交流及实践机器学习技术,推出了一款轻量化且完全免费的Sentosa_DSML社区版。以轻量化一键安装、平台免费使用、视频教学和社区论坛服务为主要特点,能够与其他数据科学家和机器学习爱好者交流心得,分享经验和解决问题。文章最后附上官网链接,感兴趣工具的可以直接下载使用。
Sentosa_DSML社区版官网
Sentosa_DSML算子流开发视频