基于决策树的可视化分析平台的设计与实现

2016-01-08 05:55夏威夷张迪朱立谷
关键词:数据可视化软件设计决策树

夏威夷,张迪,朱立谷

(中国传媒大学计算机学院,北京 100024)

基于决策树的可视化分析平台的设计与实现

夏威夷,张迪,朱立谷

(中国传媒大学计算机学院,北京 100024)

摘要:随着互联网应用的不断拓展、存储规模的不断扩大,使得人类所产生的数据爆发式增加,同时,在大数据发展的优势条件下,决策树的数据分析和可视化技术也被广泛应用。本文分析决策树与可视化技术二者的优势和联系,以提高对事件的决策效率为目的,通过提出将二者结合的思路,设计并实现了基于决策树的可视化分析平台。

关键词:决策树;数据可视化;软件设计

中图分类号:TP391

文献标识码::A

文章编号::1673-4793(2015)01-0051-06

Abstract:With the rapid development of internet application,and the expansion of storage,the data which is produced by human continues to increase . And that,under the rapid development of big data,the data analysis of decision tree and the technology of data visualization has been widely used. In this paper,after analyzing the relationship and advantages between the decision tree and data visualization technology,put the target on improve the decision-making efficiency of events,combined them,and finally designed and implemented visual analysis platform based on decision tree.

Keywords:decision tree;data visualization;software design

收稿日期:2014-12-15

作者简介:夏威夷(1988-),男(汉族),湖北潜江人,中国传媒大学计算机学院研究生.E-mail:xwy1988@sina.com

Design and Implementation of the Visual Analysis

Platform Based on Decision Tree

XIA Wei-yi,ZHANG Di,ZHU Li-gu

(Computer College,Communication University of China,Beijing 100024,China)

1引言

科学技术的迅速发展,尤其是计算机技术的不断发展、互联网应用的不断拓展、存储规模的不断扩大,都使得人类所产生的数据爆发式增加。这些数据不仅庞大,而且在其背后隐藏着更多有意义的信息,单纯的掌握这些庞大的数据信息是价值不大的,更多的在于对这些数据信息进行专业的分析处理,然后在分析结果的指引下做出对事件的判定决策。因此,在这数据信息化的时代,人类发明了各式各样的方法分析处理数据用以运筹决策。

1.1 决策树方法

决策树方法是一个重要的数据分析和事件决策方法。该方法是在已知整个事件流程的情况下,获取事件中的各个事件点所发生的概率,通过构建决策树来计算期望,并对比获取有利期望下事件可行性的决策分析方法。此方法以树中的节点表示事件中的事件点,将每个分叉的路径作为某个可能性的属性值,则从根节点到叶节点即为一个完整的事件发展过程。这种方法不仅能够在短时间内用图解的形式梳理大型的数据源,而且分析过程和分析结果都能直接体现数据的特点。因此,决策树方法被广泛应用在各种策略对比、各类项目风险测评和各个方案可行性分析上。

1.2 数据可视化分析发展状况

然而,即便是经过分析处理后的数据,仅仅以数据的形式呈现在人类面前,其所包含的关系规则,所展现的深刻含义,所隐藏的丰富知识以及所预测的发展趋势,都不够客观明朗。

要打破这种人们被海量的数据淹没,却又饥饿于知识的现象,必须利用有利于人类理解的,具有视觉表现形式的技术来展示数据。数据可视化技术,便能很好的解决这一问题。

数据可视化技术是严谨的工程科学,也是极富创造性的设计美学。它运用计算机图形学、图像处理和人机交互技术,将数据转为数据图像,并将数据的各个属性在图像上进行标识。这种同时兼顾美学形式与功能需求,通过丰富的表现来直观地传达沉闷的关键数据,使人类可以从不同的方向,不同的形式来观测数据,更加方便了人类对复杂数据的深入理解。

1.3 决策树与数据可视化分析的结合

从技术层面来考察,针对决策树的分析,利用数据的可视化技术,假以图形化的界面,技术间的结合创新便构成了基于决策树的数据可视化分析平台。同时,从用户的角度来度量,用户只需要收集完备的基础数据,通过平台的输入,便能得到可视化的输出结果。因此,平台极大简化了用户在分析阶段繁琐的操作过程,是符合用户需求和利益的。

平台能将数据转化为直观的图形图像,开阔了使用者的视野,激发了使用者的思考。这是决策树的又一次成功利用,也是可视化技术发展创新的一条思路。

2平台设计

基于决策树的可视化分析平台,其处理分析数据的整体流程如图1展示。

图1 可视化平台工作流程

2.1 决策树模型的建立

首先用户在获取事件数据后,通过平台所提供的交互式界面进行数据输入,完成决策树树外形的初步建立,为整个流程提供分析基础。其后将各个事件节点的属性附着在决策树上,由平台的决策树生成模块来生成决策树模型。

2.2 决策树参数的添加

建立完成决策树模型后,用户可通过图形界面选择特定的数据分析方法,通过对话框填选分析方法所需要的数据及选项,通过拖拽式的控制组件调节附着在决策树上的属性参数,来完成基础剧本(base case scenario)的创建和对决策树模型剧本的添加。

2.3 分析结果的可视化

已完成参数设置和剧本添加的决策树模型,会在平台的决策树分析模块作用下产生分析结果。随后透过平台提供的多形式分析结果数据图功能,用户能转化分析结果为数据图及表单。在图表分析的指引下,用户便能获取数据图和表单中传递出来隐含的规则和知识。

2.4 报表的发布

平台还实现了发布决策树模型和分析结果图表,生成报表的功能。在发布后,可拖拽的控件,可调节的参数,可应变的图表,可修改的描述将整个发布界面修饰成互动性的界面,便于用户实时修改事件节点的属性参数。在直接对比不同参数情况下的分析结果后,用户能更容易比较出数据之间的潜在联系与价值。

3平台实现

3.1 实现平台的技术出发点

时下web技术的日趋成熟、互联网业务的突飞猛进以及移动端用户的不断增长,有利的环境使可视化分析平台建立在web上这一举措顺应了发展的趋势。用户使用的方便性和交互的友好性也使得web技术满足了可视化分析平台的建立,网络供应商提供的服务器计算更能满足对数据的分析处理。那么就以web技术作为出发点,实现可视化分析平台。

3.2 平台的整体架构

立足于web技术上,平台的整体架构便清晰可见了。如图2所呈现:

将平台的整体架构自下而上划分为三个层次,分别是web后端,web前端与可视化层。对使用者而言,web后端是完全透明的,使用者只需浏览可视化层并对web前端进行操作即可实现决策树的建立分析。

(1)平台的web后端。平台的后端由三部分模块组成。

图2 平台整体框架

首先是整个平台的服务模块。这部分模块的主要功能是提供web服务,即通过监听端口,获取http请求,来取得与使用者的联系,并在解析处理完http请求后,给予使用者相应的响应。

其次是数据存储服务模块。该模块为用户提供存储数据的服务。所存储的数据包括但不限于用户提供的个人资料、用户收集的事件数据、用户构建的决策树、用户设置的参数信息以及平台在分析完成决策树后的整个输出报表。即将决策树从建立到报表的生成整个流程的信息统一存储。

第三部分则是用作数学计算的服务模块。由于在决策树分析中,需要应用统计数学进行计算的服务多且广,所以在平台后端利用反向代理技术去向专门的统计数学计算服务器请求数学计算。以特定的功能去分类特定的服务,不仅避免了服务过于集中的缺点,实现了负载均衡的目的,而且复用了特定的计算服务。

(2)平台的前端。平台的前端主要实现与用户的交互及数据的处理功能。因此前端在必须灵活而严谨。这里将平台的前端框架用MVVM(Model-View-ViewModel)模式来实现。在MVVM框架下,分离开视图(view)与模型(model)后,view层独立于model来负责处理与用户的交互,接收用户的数据输入,返回处理后的数据输出。而model层则通过绑定到对应view层上的viewmodel,或者是后端提供的数据存储服务,来获取所需要进行计算的数据。在一系列计算处理后,通过viewmodel将数据返回给view层。

这种低耦合的设计模式,不仅因其数据绑定的方式显得更加灵活,而且其可复用性与独立性更能提高业务逻辑和数据处理的精细程度,完美符合平台的计算需求。

(3)可视化层。可视化层的结构是对应于可视化分析平台工作流程的。所以可视化层在结构上也相应的由决策树生成、图表生成和报表生成三个部分组成。

决策树生成部分首先包含一个树形图生成模块,该模块在用户的操作下生成决策树的树外形。其次决策树生成阶段所需要的各项事件参数会经由一个变量计算器模块进行预处理。然后在数据绑定模块的作用下,决策树树形图的数据结构和事件参数会交由前端的model层进行加工处理,再传送给后端的数据存储服务进行保存。

图表生成部分在中介模块的帮助下,将数据绑定模块接受到的数据绘制成图表。由于这部分需要更多的统计计算功能来协助完成图表的绘制,所以这部分还包括有一个统计计算模块。三个模块共同实现从数据到图形的转变。

A厂在焚烧炉前拱设置17个喷嘴,后拱设置18个喷嘴,前后拱错开布置,二次风仅在一侧再循环喷嘴的上方布置。每个再循环喷嘴均设置手动阀门,在初期调试时调整阀门开度,保证各个喷嘴压力均匀,喷入风量均等。

可视化层最终需要实现可交互的报表。所以在报表生成部分,绑定的数据在交互式适配器模块的作用下,经由模板选择模块进行各种模板样式的转变。从而能使生成的报表适应多种终端的特征,满足各类人群的需求。

4实证分析

4.1 决策树实例

为说明可视化分析平台的在决策树的应用以及可视化分析上的优势,本文引入一则案例。

本例是在医护救助背景下,比较直升机与普通的地面交通工具进行紧急医护救助之间的成本效率。(直升机紧急医护救助:helicopter emergency medical services,简称HEMS。地面交通工具紧急医护救助:ground emergency medical services,简称GEMS)

通过对整个医护救助事件进行数据收集,在可视化分析平台上可以制作出医护救助事件的决策树,如图3所示:

经由可视化分析平台进行数据处理后,生成各终结点的柱状图,如图4所示。

产生的图表直接描绘出决策树的各个终结点事件发生的概率。图中纵坐标单位是百分号,横坐标中0和1分别表示HEMS和GEMS在未发生事故的情况下将轻伤病人送至医院后病人死亡的概率;2和3分别表示这两种方式在未发生事故的情况下将重伤病人送至医院后病人死亡的概率;4和5分别是二者将轻伤病人送至医院后病人存活的概率;6和7分别是将重伤病人送至医院后病人存活的概率;8与9是这两种交通工具发生故障的概率。

从图表中可以得出结论,在运送重伤病人时,HEMS方式的病人存活率较高,但其他情况下,二者的效率差不多。由于考虑到HEMS费用支出会比GEMS贵不少,所以平时应采用GEMS,特殊情况下使用HEMS。

4.2 实例检测结论

实例运行环境:一台8核2.40GHz Inter Xeon CPU、4G内存、HP刀片服务器部署在局域网内部。两台Dell塔式服务器用作访问节点,模拟多用户访问服务器。

平台的计算效率较高。如图5所示:从chrome浏览器的开发人员工具的network和timeline工具可以计算出,从服务器处理数据,到后端获取数据,再到前端进行图形界面的渲染数据,完成可视化过程的整体时间平均不超过1770ms,已表明平台能提供的服务比较稳定,响应速度也能应合用户的使用。

图3 医护救助事件的决策树

图4 决策树各终结点的概率柱状图

图5 平台响应时间

在可视化方面,平台提供的可视化报表完全呈现了用户数据及分析结果,成功的将信息数据与知识联系起来,为使用者研究信息数据背后的潜在价值提供了简单有效的途径。同时,平台较高的可视化程度也大大提升了用户的操作有效性,将原本枯燥乏味的数据挖掘和统计分析转变为具有良好用户体验的web使用过程。

5结束语

在可视化技术迅速发展的优势条件下,可视化技术与其他科学技术之间的结合,为人类理解复杂数据集提供了图形界面,这无疑是对其他科学技术巨大的推动与支撑。

本文通过将可视化技术与决策树相碰撞,实现了基于决策树的可视化分析平台。平台着重强调简单的操作来方便用户的使用,直观的呈现来满足用户的需求,严谨的输出来帮助用户的分析。同时,平台以人的观察能力为起点,构建知识发现过程,极大的提高了人对数据的理解,加强对事件进行有利决策的程度。

在未来的发展中,可视化分析平台不会满足于单一的数据结构建立模式,也会支持多种数据输入的模式,例如Microsoft Excel表单导入等等。当然,可视化分析平台也不会单独局限于某一种特定的数据分析方法,而会发展为具有多种统计分析能力的可视化分析计算平台,拓宽可视化技术的应用面,以极大的利用可视化技术的优势,为多种数据分析应用提供可视化服务。

参考文献:

[1]Kit Delgado M,Kristan L Staudenmayer,N Ewen Wang,et al. Cost-Effectiveness of Helicopter Versus Ground Emergency Medical Services for Trauma Scene Transport in the United States[J]. Annals of Emergency Medicine,2013,62(4):351-364.

[2]许彦如,王长波,刘玉华,章群燕. 多维网络论坛数据的层次可视化[J]. 计算机科学,2011,38(2):206-209.

[3]王维江,张俊霞. 数据可视化技术研究的新进展[J]. 计算机时代,2002,(5):4-6.

[4]周海燕,郭建忠,王家耀. 知识发现与数据可视化技术浅析[J]. 信息工程大学学报,2002,3(4):78-80.

[5]冷明垒.数据可视化是怎样创造出来的[DB/OL]. http://blog.renren.com/share/100240327/1460 3338669,2011.

[6]黄朝晖,李晓梅. 数据可视化技术及现状[J]. 计算机工程与科学,1993,(2):39-43.

[7]Vapnik V. 统计学习理论的本质[M]. 北京:清华大学出版社,2000.

[8]李晶睿. 数据可视化的Web服务及其组合的研究与开发[D].武汉理工大学,2007.

[9]李寒秋. Web服务在企业信息化中的研究与应用[D].哈尔滨理工大学,2008.

[10]刘勘,周洞汝. 大型数据库中的数据可视化技术[C]. 第十八届全国数据库学术会议论文集(技术报告篇)[Z].北京:中国农业科技出版社,2011:340-343.

[11]张卓,宣蕾,郝树勇. 可视化技术研究与比较[J]. 现代电子技术,2010,(10):133-138.

(责任编辑:王谦)

猜你喜欢
数据可视化软件设计决策树
基于决策树和神经网络的高血压病危险因素研究
决策树和随机森林方法在管理决策中的应用
决策树多元分类模型预测森林植被覆盖
大数据时代背景下本科教学质量动态监控系统的构建
可视化:新媒体语境下的数据、叙事与设计研究
我国数据新闻的发展困境与策略研究
基于R语言的大数据审计方法研究
基于STM8S903K3的序列打螺丝夹具的软件设计
一种VHDL语言代码重用的方法
基于决策树的出租车乘客出行目的识别