P6:一种集成了机器学习的可视分析描述性语法 (P6: A Declarative Language for Integrating Machine Learning in Visual Analytics)

通过Vega [2],Vega-Lite [3]等描述性语法,用户能够快速地定义交互式数据可视化,但是这些描述性语法都没有提供机器学习算法来对数据进行进一步分析。P6 [1]提出了一种新的描述性语法,可以帮助用户迅速构建集成了机器学习算法的交互式可视分析系统。

将机器学习算法集成进可视分析系统存在着一些挑战。通常我们对数据进行分析时使用的机器学习算法是使用Python语言编写的库,如Scikit-Learn等,而我们进行可视化时使用的通常是JavaScript语言编写的库,如D3等。不同语言之间的通讯存在一些挑战,通常需要实现在前后端之间通信的框架。P6提供了一个Javascript库 [5],使得用户在不需编写Python代码,也不需要考虑前后端通信问题的情况下,就可以使用JavaScript构建一个集成了机器学习算法的交互式可视分析系统。

图1. P6描述性语法的设计

如图1所示,P6描述性语法的设计基于一个包括数据挖掘过程模型和信息可视化流水线模型的概念框架。P6使用数据挖掘的过程模型作为参考来定义机器学习算法和数据分析的流程,包括数据选择、数据预处理等。另一方面,P6使用P4 [4],一种便携并行处理流水线来对原始数据和数据分析结果进行交互式的信息可视化。

图2. 使用P6构建集成机器学习算法的交互式可视分析系统

如图2所示,是使用P6构建集成机器学习算法的交互式可视分析系统的一个例子。在这个例子中,只需要使用JavaScript语言,就可以调用Scikit-Learn中实现的机器学习算法,使用Kmeans对原始数据进行聚类,使用PCA进行降维,并使用散点图和条形图来对原始数据以及分析结果进行可视化。同时,还可以在系统中定义交互,如在鼠标点击条形图中的一类时,散点图对应类别的点可以突出显示。

使用P6提出的描述性语法,以及提供的JavaScript框架,用户可以高效的构建集成机器学习算法进行数据分析的交互式可视分析系统。特别是对于非数据挖掘或可视分析领域的专家,使用P6,不需要编写Python代码,也不需要考虑前后端的通信问题,就可以快速实现一个交互式的可视分析系统,同时能够使用一些基础的机器学习算法对数据进行分析。

参考文献

[1] J. K. Li and K. -L. Ma, “P6: A Declarative Language for Integrating Machine Learning in Visual Analytics,” in IEEE Transactions on Visualization and Computer Graphics, 2020.

[2] A. Satyanarayan, R. Russell, J. Hoffswell and J. Heer, “Reactive Vega: A Streaming Dataflow Architecture for Declarative Interactive Visualization,” in IEEE Transactions on Visualization and Computer Graphics, vol. 22, no. 1, pp. 659-668, 31 Jan. 2016.

[3] A. Satyanarayan, D. Moritz, K. Wongsuphasawat and J. Heer, “Vega-Lite: A Grammar of Interactive Graphics,” in IEEE Transactions on Visualization and Computer Graphics, vol. 23, no. 1, pp. 341-350, Jan. 2017.

[4] J. K. Li and K. Ma, “P4: Portable Parallel Processing Pipelines for Interactive Information Visualization,” in IEEE Transactions on Visualization and Computer Graphics, vol. 26, no. 3, pp. 1548-1561, 1 March 2020.

[5] https://github.com/jpkli/p6

评论关闭。