开发者学堂课程【高校精品课-北京理工大学-大数据技术导论:数据可视化(二)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/857/detail/15598
数据可视化(二)
数据可视化方法和技术
在这一部分,我们将向大家介绍图可视化技术、多维数据可视化技术、时空数据可视化技术、文本可视化技术以及交互可视化技术。
我们首先来看一下图可视化技术。所谓的图数据就是指的是由节点和节点之间的边构成的数据。那对于图数据最普遍的一种可视化方式就是这样的一个节点连接图。
对于节点连接图来说,它的好处是能够比较直观地反映网络的关系,通过节点连接图能够表现图的总体结构、簇和路径。但是节点的连接图也有它的一个缺陷,就是当我们的数据规模比较大的时候,尤其是当数据规模达到百万以上,那么在节点连接图中,它的节点和边会出现聚集、覆盖和遮挡,这样整个节点图会显得比较复杂。
大家可以看一下对于我们的课件中的两幅图,就是当我们的关系比较密集,或者是数据规模比较复杂的时候,这个图的可视化形式,那么这个形势就比较复杂,用户是没有办法看清这个图的一些信息的。针对这个问题就提出了图的简化技术。
图的简化技术主要有两条技术路线,一种是基于聚类的简化,还有一种就是基于边绑定技术。我们来看一下通过聚类进行图的简化,通过聚类进行图的简化,我们可以减少这个图中点的数目,从而清晰地展示整个图的结构。大家可以看一下课件上的这幅图,就是利用这样的一个基于聚类简化技术,对我们的图进行简化之后的效果,它展示的是自然科学领域的6128种杂志之间的相互引用关系。
在这幅图中我们可以直接的看到哪些杂志是比较重要的,以及这些重要杂志之间的相互引用关系。我们再来看一下介于边绑定的图的简化技术。基于边绑定的这样的一个简化技术主要是用来简化这个图中边的数目 ,我们通过一个例子来说明这个边绑定技术,大家可以看一下我的左图,
左图是我们就是没有进行编绑定之前的效果,那么这个图它展示的是软件模块之间的调用关系,那么其中这个图中红色的部分代表的是软件调用中被调用的软件模块,绿色部分代用的是调用的这样的一个模块,因为软件模块之间的调用关系是非常复杂的,所以大家可以看到那么这样的一个边就基本上形成了一个毛球的状态,看不清楚调用关系,那么经过这样的一个边绑定,我们主要就是根据边的分布来计算这样的一个网络沿着网络的骨架把相似的线进行进行绑定,形成线素。
那么我们的右边这幅图就是经过了边简化技术处理之后的效果。大家可以看到,通过这样的一幅图,能够非常清晰地看到软件和软件模块之间的调用关系。
除了使用节点连接图对图数据体可视化,我们还可以运用另外一种形式,就是叫做邻接矩阵的形式。那么对于一个具有N个结点的图来说,我们要使用N乘N的一个矩阵,可以对他进行可视化表达。那么在这样的一个邻接矩阵中,它的任意一个点也就是ig的位置代表的是第i个节点和第这个节点之间的关系,用相邻矩阵对我们的图数据进行可视化,它的好处是这种可视化的视觉伸缩效果是比较强的,对于一些关系比较密集的图那么它的可视化效果是比较好的,
但是它也存在缺点就是这种方式进行可视化它的抽象性是比较强的,那么难以看出这个图的一些结构关系,并且是不能够实现轨迹跟踪的。
除了以上两种方式,我们还可以采用GMAP 这种形式对图数据进行可视化,它是用平面代表实体,用平面的联通代表实体关系的一种地图,在每一个平面里面又包含了各个节点以及各个节点的关系,所以说使用这样的一个 GMAP 的可视化方式,是非常适合表达这样的一个图数据中的集合结构关系。
我们再来看一下对多维数据的可视化表达方式。
所谓的多维数据指的就是这个数据它是具有多个维度特征的,那么我们对于一维数据是可以用直方图或者是饼图进行表达的,对二维数据是可以用散点图进行表达,对于我们的三维数据是可以用一个数据立方体的形式进行可视化表达,但是我们的数据维度如果超过三维以上,那这个时候我们用什么样的形式对他进行可视化表达?
我们来看一下多维数据的可视化表达方法。那么对于多维数据,最常见的一种可视化表达方法就是使用平行坐标系。
那么平行坐标系是以 N 条平行的线为背景,每条线代表的是这个数据的一个属性特征。一个在高维空间中的点就会表示为一条在 N 条平行坐标轴的折线,那么其中在第 K 个坐标轴上的位置就代表的是这个点在第 K 为上的值。
我们在这个课件中给出了一个例子,我们课件的右边就是大家比较熟悉的 race 数据集,就是燕尾花数据集,那么这个数据集呢,它主要是由四个属性特征以及一个类别特征。那对于这四个属性,我们在我们的平行坐标轴中是可以用四条平行的线来代表他,那么分别代表着他的是花萼的长度,花瓣的长度,花萼的宽度和花瓣的宽度。那么每一条数据在这个图中就代表的是一条折线,那么其中它的类别属性在这个图中是用不同的颜色对它进行进行区分,这个就是平行坐标系。除了平行坐标系,我们还可以使用散点图矩阵对我们的多维坐标进行可视化。
如果这样的一个数据,它是具有 N 为特征的,那么我们需要使用一个 N 乘 N 的散点图矩阵对他进行可视化。
在这样的一个散点图矩阵中的每一个散点图表示的是每一对维度之间的相互关系。那么对于散点图矩阵来说,它的优势是能够非常直观的显示两个维度之间的相关性,但是它的缺点是散点图的数目与数据维度的平方是成正比的。除此之外,对多维数据我们还可以使用径向轴的方式进行可视化。
径向轴其实就是平行坐标系的一种变形,它是用从圆心出发的各条轴来代表数据的各个属性,然后依然是用各个轴上面的折线来代表一条数据。
比如说这幅图就是对我们的燕尾花数据集的四个特征属性用雷达图进行表示。那么对于金象轴这种可视化的表示方式,它有很多版本,雷达图是其中的一种,还有其余的,比如说像心脏图等等。
那么以上是我们介绍了几种对多维数据可视化的表达方法但是当数据维度如果非常高的时候,那么可能以上几种方法就失效了,这个时候,我们就需要用到多维数据中一种非常重要的方法,就是叫做降维,所谓的降维就是要使用线性或者是非线性的变化把一个高维空间中的向量把它投射到一个低维的空间中去,比如说我们的原始数据x它是在原来是一个 n 维空间中的点,通过降低维度之后,我们可以把它投射到一个k维空间中,其中这个 k 是要远远小于它的原始的维度 n 的,那么常用的降维方法有很多,比如主成分分析法 PCA,线性判别分析法 LDA,多维定标法 MDS以及因子分析法 fe。
主要对其中的 LDA 方法做一个简单的介绍。那么 PC 方法主要就是要找到一个低维的空间,使得原来在高维空间中的点投射到这个低维空间的时候,信息的损失最小。那么其中变换后的新空间中的这样的一个样本Z,他和原始空间中的这样的一个点 X 之间是有一个线性转换关系的,也就是 Z 是等于 W 的转正乘以 X,那么我们把W称之为变换矩阵。下面这个图就展示的是通过 PCA,我们可以把一个二维空间的数据投射到一个一维空间,可以把一个三维空间的数据投射到二维空间。那么和 PC 方法非常类似的,我们把它称之为叫做线性判别分析方法 LDA,LDA 依然也是找到一个低位空间,使得 X 投影到这个低维空间的时候,它的类别信息能够很好的被区分。那么因为在用 LDA 做降维的时候,它使用了这样的一个数据的类别信息。所以把 LDA 称之为是一种有监督的降维方法,而在 PCA 进行降维的时候呢,它是不需要这样的一些类别信息的,仅仅是靠数据本身来进行,所以把 PCA 称之为是一种叫做无监督的降维方法。那除了 LDA 和 PC2种方法之外,我们使用的比较多的还有一种方法是叫做 MDS,
那么 MDS 称之为叫做多维定标,就是指的是给定 N 点的每对点之间的成对距离,使得这个找到一个低维的映射,使得在低维空间中的距离尽量的保持在高维空间中的距离。那么最典型的应用就是我们可以把一个球面上的两个点投射到了我们一个二维平面上的点。以上就是我们对我们的图数据和多维数据的可视化的一些方法的介绍。









